【内容】
普通字符串转换为16进制编码16进制编码解码为普通字符串普通字符串编码为Unicode编码Unicode编码解码为普通字符串JSON格式字符串转换为JSON数组对象【为什么会有】使用到 local Storage,打算用它来存放服务器数据,但 local Storage只支持字符串内容。因此从服务器返回的JSON数据被当成字符串写入了local Storage中。在接下来得调用中出现错误。其实,使用eval可以直接把这个字符串还原为JSON数组对象
看下面的内容,如果取出两边的单引号,他就是一个JSON数组对象。但是,加上引号后就是一大串字母数字和符号了。
1 [{"id":130715035,"title":"\u6c5f\u897f\u5f69\u7b2c20130715-035\u671f\u5df2\u5f00\u5956","content":"\u60a8\u6295\u6ce8\u7684\u6c5f\u897f\u5f69<\/span>\u7b2c20130715-035<\/span>\u671f\u5df2\u5f00\u5956\uff0c\u60a8\u5171\u67098<\/span>\u4e2a\u53f7\u7801\u4e2d\u5956\uff0c\u5956\u52b1\u91d1\u989d30.00<\/span>\u5143\u3002\u8bf7\u6ce8\u610f\u68c0\u67e5\u8d26\u6237\u52a8\u6001\uff01"},{"id":130715039,"title":"\u9ed1\u9f99\u6c5f\u5f69\u7b2c20130715-039\u671f\u5df2\u5f00\u5956","content":"\u60a8\u6295\u6ce8\u7684\u9ed1\u9f99\u6c5f\u5f69<\/span>\u7b2c20130715-039<\/span>\u671f\u5df2\u5f00\u5956\uff0c\u60a8\u5171\u67092<\/span>\u4e2a\u53f7\u7801\u4e2d\u5956\uff0c\u5956\u52b1\u91d1\u989d30.00<\/span>\u5143\u3002\u8bf7\u6ce8\u610f\u68c0\u67e5\u8d26\u6237\u52a8\u6001\uff01"},{"id":130715036,"title":"\u91cd\u5e86\u5f69\u7b2c20130715-036\u671f\u5df2\u5f00\u5956","content":"\u60a8\u6295\u6ce8\u7684\u91cd\u5e86\u5f69<\/span>\u7b2c20130715-036<\/span>\u671f\u5df2\u5f00\u5956\uff0c\u60a8\u5171\u670928<\/span>\u4e2a\u53f7\u7801\u4e2d\u5956\uff0c\u5956\u52b1\u91d1\u989d3000.00<\/span>\u5143\u3002\u8bf7\u6ce8\u610f\u68c0\u67e5\u8d26\u6237\u52a8\u6001\uff01"},{"id":130715037,"title":"\u798f\u5f693D\u7b2c20130715-037\u671f\u5df2\u5f00\u5956","content":"\u60a8\u6295\u6ce8\u7684\u798f\u5f693D<\/span>\u7b2c20130715-037<\/span>\u671f\u5df2\u5f00\u5956\uff0c\u60a8\u5171\u67092<\/span>\u4e2a\u53f7\u7801\u4e2d\u5956\uff0c\u5956\u52b1\u91d1\u989d30.00<\/span>\u5143\u3002\u8bf7\u6ce8\u610f\u68c0\u67e5\u8d26\u6237\u52a8\u6001\uff01"},{"id":130715038,"title":"\u6c34\u6d52\u5f69\u7b2c20130715-038\u671f\u5df2\u5f00\u5956","content":"\u60a8\u6295\u6ce8\u7684\u6c34\u6d52\u5f69<\/span>\u7b2c20130715-038<\/span>\u671f\u5df2\u5f00\u5956\uff0c\u60a8\u5171\u670928<\/span>\u4e2a\u53f7\u7801\u4e2d\u5956\uff0c\u5956\u52b1\u91d1\u989d3000.00<\/span>\u5143\u3002\u8bf7\u6ce8\u610f\u68c0\u67e5\u8d26\u6237\u52a8\u6001\uff01"},{"id":130715040,"title":"\u4e07\u5e74\u8001\u9ec4\u5386\u7b2c20130715-037\u671f\u5df2\u5f00\u5956","content":"\u60a8\u6295\u6ce8\u7684\u4e07\u5e74\u8001\u9ec4\u5386<\/span>\u7b2c20130715-040<\/span>\u671f\u5df2\u5f00\u5956\uff0c\u60a8\u5171\u67092<\/span>\u4e2a\u53f7\u7801\u4e2d\u5956\uff0c\u5956\u52b1\u91d1\u989d30.00<\/span>\u5143\u3002\u8bf7\u6ce8\u610f\u68c0\u67e5\u8d26\u6237\u52a8\u6001\uff01"}]
但是如果使用eval(字符串)这样的方式就可以把上面的字符串在此还原为JSON数组对象。
1 $('#h').text(eval(iJson).length);2 $('#i').text(eval(iJson)[2]['title']);
至于其他的细节文字编码解码主要是为了简单的隐藏数据信息。不让明文信息存在于数据条目中。
【效果如图】
【代码如下】
1 2 3 4 5无标题文档 6 7 55 56 57 58原始文字
59 60escape16进制转码
61 62unescape16进制解码
63 64Unicode转码
65 66Unicode解码
67 68JSON字符串
69 70JSON数组对象
71 72 73 74