该插件主要是为了解决IE8以下的IE浏览器的兼容问题,只要包括两个方法:JSON.stringify()
序列化方法和JSON.parse()
反序列化方法
https://github.com/douglascrockford/JSON-js
其他该插件的CDN版本:https://www.bootcdn.cn/json2/
代码如下:
//直接声明json数据结构
var myJSONObject = {"bindings": [
{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
]
};
这个例子中,创建了一个对象,它只包含一个成员bindings
。bindings
是一个包含了3个对象的数组,而这每个对象都有ircEvent
、method
和regex
3个成员。
这些成员可以用.
或[]
操作得到。如:
myJSONObject.bindings[0].method // "newURI"
myJSONObject.bindings[1].deleteURI // "newURI"
//声明字符串,可对比一下json文本与我们正常文本的区别
var normalstring='[{persons:[{name:"jordan",sex:"m",age:"40"}, {name:"bryant",sex:"m",age:"28"}, {name:"McGrady",sex:"m",age:"27"} ]}]';
var jsontext='[{"persons":[{"name":"jordan","sex":"m","age":"40"}, {"name":"bryant","sex":"m","age":"28"}, {"name":"McGrady","sex":"m","age":"27"} ]}]';
我们可以使用eval()
函数调用JavaScript
的编译器把JSON
文本转变成对象。因为JSON
是JavaScript
的一个确切的子集,编译器可以正确地解析JSON
文本,然后生成一个对象结构。
//调用eval函数转换为json对象
var myE = eval(normalstring);
//将json对象转换为字符串
var text = JSON.stringify(myE);
//对比转换后的json文本与声明的文本区别
document.writeln('转换后的json文本:'+text+'
声明的json格式文本 '+jsontext+'
声明的普通格式文本 '+normalstring+'
');
结果如下:
转换后的json文本:[{"persons":[{"name":"jordan","sex":"m","age":"40"},{"name":"bryant","sex":"m","age":"28"},{"name":"McGrady","sex":"m","age":"27"}]}]
声明的json格式文本[{"persons":[{"name":"jordan","sex":"m","age":"40"},{"name":"bryant","sex":"m","age":"28"},{"name":"McGrady","sex":"m","age":"27"}]}]
声明的普通格式文本[{persons:[{name:"jordan",sex:"m",age:"40"}, {name:"bryant",sex:"m",age:"28"}, {name:"McGrady",sex:"m",age:"27"} ]}]
小结:转换后的json文本和声明的json格式文本内容是相同的。
当安全比较重要的时候使用JSON
解析就好一些。JSON
解析只会识别JSON
文本并且它更安全,下面调用json
的parse
函数对文本数据转换生成json
数据结构
var myData = JSON.parse(jsontext);
完整的代码如下:
<%@ page language="java" pageEncoding="UTF-8"%>
代码如下:
//下面是对json对象的增删查改操作
<%@ page language="java" pageEncoding="UTF-8"%>
参考:
https://www.jb51.net/article/28459.htm
https://www.jb51.net/article/123742.htm