第一种:对象模式
- <script type="text/javascript">
- //1.首先json 格式一定要这样写,尽管说这只是其中的一种方式
- var json = {"options":"[{/"text/":/"王家湾/",/"value/":/"9/"},{/"text/":/"李家湾/",/"value/":/"10/"},{/"text/":/"邵家湾/",/"value/":/"13/"}]"}
- json = eval(json.options)// 注意options,如果不写Options ,下面的写法就是json.options.length
- for(var i=0; i<json.length; i++)
- {
- alert(json[i].text+" " + json[i].value)//访问
- }
- </script>
第二中:数组
- <script type="text/javascript">
- //1.首先json 格式一定要这样写,尽管说这只是其中的一种方式
- var json = "[/"1/",/"2/"]"
- //2.访问
- json = eval(json)
- alert(json[0]);//1
- alert(json[1]);//2
- </script>
因为JSON 是 javascript 的一个子集,所以,在javascript 中使用JSON是非常简单的。
js 代码
- var myJSONObject = {"bindings": [
- {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
- {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
- {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
- ]
- };
在上面的例子中,我们创建了只包含一个成员 "bindings" 的一个对象,bindings 则包含了一个由3个对象组成的数组。这3个对象都包含3个成员:"ircEvent", "method","regex"。
在javascript 中, 成员可以通过“点号”来获取。
比如:
JSON 解析器。 一个 JSON 解析器将只接受 JSON 文本。所以是更安全的。
js 代码
- myJSONObject.bindings[0].method
通过eval() 函数可以将JSON字符串转化为对象。
js 代码
- var myObject = eval('(' + myJSONtext + ')');
eval 函数非常快,但是它可以编译任何 javascirpt 代码,这样的话就可能产生安全的问题。eval 的使用是基于传入的代码参数是可靠的假设的,有一些情况下,可能客户端是不可信任的。
如果基于安全的考虑的话,最好是使用一个
js 代码
- var myObject = JSON.parse(myJSONtext, filter);
可选的 filter 参数将遍历每一个value key 值对, 并进行相关的处理。如:
stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。
JSON parser and JSON stringifier
js 代码
- myData = JSON.parse(text, function (key, value) {
- return key.indexOf('date') >= 0 ? new Date(value) : value; });
js 代码
- var myJSONText = JSON.stringifier(myObject);
这里是一个开源的