对JSON的一点认识和理解以及JQuery处理JSON
2016-08-19 20:21
169 查看
JSON(JavaScript Object Notation)javscript对象标记,是一种轻量级的数据交换格式。具体的详细基础知识可以参考JSON官网http:/www.json.org/。
不说太多废话,直接说说我对JSON的理解吧。
一、JSON的一些基础知识。
JSON中对象通过“{}”来标识,一个“{}”代表一个对象,如{“AreaId”:”123”},对象的值是键值对的形式(key:value)。
“[]”,标识数组,数组内部各个数据之间通过“,”分割,如[“AreaId”:”123”,”AreaId”:”345”]。
很多情况下是对象数组,那就是这样:
[{“AreaId”:”123”},{“AreaId”:”345”}]
其实数组也是一个对象,上面的格式也可以写成这样:
{“Area”:[{“AreaId”:”123”},{“AreaId”:”345”}]}
这表示一个Area对象,他有两个子数据,每个子数据也是一个对象,每个子对象都是AreaId。
JSON中字符串和字符的定义格式和一般的类C语言定义是类似的,双引号定义字符串,单引号定义字符。
JSON的键(Key)用双引号括起来,比如上面的“Area“和”AreaId“,都是用双引号括起来的,在一些语言中构造JSON字符串的时候,可以使用转义字符转义双引号。
二、javascript操作JSON字符
1、先要区分JSON字符串和JSON对象
JSON字符串:
Var strJSON = “{\“Area\”:[{\“AreaId\”:\”123\”},{\“AreaId\”:\”345\”}]}”,
其实也可以写成这样:
Var strJSON = ‘{“Area”:[{“AreaId”:”123”},{“AreaId”:”345”}]}’,
这表示一个JSON字符串,由于在Js中单引号和双引号都可以表示一个字符串,所以上面第一个使用双引号和第二个使用单引号的都表示一个JSON字符串。
下面看看JSON对象
Var JSON = {“Area”:[{“AreaId”:”123”},{“AreaId”:”345”}]},
看到了吧,JSON对象最外面是没有单引号或者双引号的,这就表示一个JSON对象。
2、JSON字符串向JSON对象转换
直接只用JS的eval()方法。
如上面的strJSON字符串可以这样转换为JSON对象
Var JSON = eval(”(”+strJSON+”)”),
这样就转换为JSON对象了。
据说使用js的eval()方法有安全上的问题,所以好多人推荐使用JSON官网的json.js包进行转换,但是我去JSON官网下载这个包的时候,发现只有一句话那就是alert(’error’)。不知什么原因,哪位有知道的希望告知一下。
由于使用的JQuery,而且听说Jquery和json.js有冲突,于是参考JQuery 和 json.js 冲突问题这篇文章,下载了处理json的jquery插件。
那个插件挺好用的,比如以上的把json字符串转换为JSON对象:
Var JSON = $.parseJSON(strJSON);
这样就可以使用JSON对象了。
其实在Jquery1.4.1之后JQuery也已经添加了对JSON处理的方法,方法名也是parseJSON(str),具体使用也是和上面一样,如果你使用的是1.4.1之后的版本那就不用上面的那个插件了,直接用那个方法就可以了。
如果要是使用Jquery的ajax方法,也可以直接使用getJSON方法,就可以直接获得JSON对象,无需转换。
3、处理JSON数据
获得JSON对象后,就应该处理JSON对象了,比如通过前面的那个strJSON字符串获得JSON对象之后,可以这样获得JSON对象的值
Var firstAreaId = JSON.Area[0].AreaId.
JSON是刚才生成的JSON对象,Area[0]表示JSON对象的第一个Area对象(因为Area对象有两个子对象),AreaId就是要获得子对象的数据。
好了,就写这些吧,如果有不对的地方,请大家指正。
不说太多废话,直接说说我对JSON的理解吧。
一、JSON的一些基础知识。
JSON中对象通过“{}”来标识,一个“{}”代表一个对象,如{“AreaId”:”123”},对象的值是键值对的形式(key:value)。
“[]”,标识数组,数组内部各个数据之间通过“,”分割,如[“AreaId”:”123”,”AreaId”:”345”]。
很多情况下是对象数组,那就是这样:
[{“AreaId”:”123”},{“AreaId”:”345”}]
其实数组也是一个对象,上面的格式也可以写成这样:
{“Area”:[{“AreaId”:”123”},{“AreaId”:”345”}]}
这表示一个Area对象,他有两个子数据,每个子数据也是一个对象,每个子对象都是AreaId。
JSON中字符串和字符的定义格式和一般的类C语言定义是类似的,双引号定义字符串,单引号定义字符。
JSON的键(Key)用双引号括起来,比如上面的“Area“和”AreaId“,都是用双引号括起来的,在一些语言中构造JSON字符串的时候,可以使用转义字符转义双引号。
二、javascript操作JSON字符
1、先要区分JSON字符串和JSON对象
JSON字符串:
Var strJSON = “{\“Area\”:[{\“AreaId\”:\”123\”},{\“AreaId\”:\”345\”}]}”,
其实也可以写成这样:
Var strJSON = ‘{“Area”:[{“AreaId”:”123”},{“AreaId”:”345”}]}’,
这表示一个JSON字符串,由于在Js中单引号和双引号都可以表示一个字符串,所以上面第一个使用双引号和第二个使用单引号的都表示一个JSON字符串。
下面看看JSON对象
Var JSON = {“Area”:[{“AreaId”:”123”},{“AreaId”:”345”}]},
看到了吧,JSON对象最外面是没有单引号或者双引号的,这就表示一个JSON对象。
2、JSON字符串向JSON对象转换
直接只用JS的eval()方法。
如上面的strJSON字符串可以这样转换为JSON对象
Var JSON = eval(”(”+strJSON+”)”),
这样就转换为JSON对象了。
据说使用js的eval()方法有安全上的问题,所以好多人推荐使用JSON官网的json.js包进行转换,但是我去JSON官网下载这个包的时候,发现只有一句话那就是alert(’error’)。不知什么原因,哪位有知道的希望告知一下。
由于使用的JQuery,而且听说Jquery和json.js有冲突,于是参考JQuery 和 json.js 冲突问题这篇文章,下载了处理json的jquery插件。
那个插件挺好用的,比如以上的把json字符串转换为JSON对象:
Var JSON = $.parseJSON(strJSON);
这样就可以使用JSON对象了。
其实在Jquery1.4.1之后JQuery也已经添加了对JSON处理的方法,方法名也是parseJSON(str),具体使用也是和上面一样,如果你使用的是1.4.1之后的版本那就不用上面的那个插件了,直接用那个方法就可以了。
如果要是使用Jquery的ajax方法,也可以直接使用getJSON方法,就可以直接获得JSON对象,无需转换。
3、处理JSON数据
获得JSON对象后,就应该处理JSON对象了,比如通过前面的那个strJSON字符串获得JSON对象之后,可以这样获得JSON对象的值
Var firstAreaId = JSON.Area[0].AreaId.
JSON是刚才生成的JSON对象,Area[0]表示JSON对象的第一个Area对象(因为Area对象有两个子对象),AreaId就是要获得子对象的数据。
好了,就写这些吧,如果有不对的地方,请大家指正。
相关文章推荐
- 对JSON的一点认识和理解以及JQuery处理JSON
- 对JSON的一点认识和理解以及JQuery处理JSON
- 对JSON的一点认识和理解以及JQuery处理JSON
- jquery的ajax请求处理以及处理后台java传的json数据
- jquery接收PHP传送过来的JSON格式数据以及处理。
- 对Jquery+JSON+WebService的一点认识
- 对Jquery+JSON+WebService的一点认识
- 自己在学习Mybits的时候理解的一点sql注入的知识,以及处理的方法!
- 对Jquery+JSON+WebService的一点认识
- jquery中ajax如何返回值到上层函数的方法以及对于js处理json对象方法的记录
- 对Jquery+JSON+WebService的一点认识
- 对Jquery+JSON+WebService的一点认识
- json字符串和对象转换以及json2.js和jquery.json-2.3.js中对于json的方法定义理解
- 应用HttpHandler, Json, JQuery, ASP.Net UserControl等技术处理 Ajax 的解决方案
- jQuery getJSON 处理json数据的代码
- 更深入一点理解switch语句及c/c++对const的处理
- 分析JQuery的JSON处理方式
- 对字节填充的一点理解,以及一小段代码
- jQuery备忘之(一):jQuery处理.Net后台返回的Xml格式与Json格式的数据的比较分析
- Jquery 表单取值赋值 处理返回json数据