关于json的几点知识

来源:互联网 发布:敏捷加密软件破解 编辑:程序博客网 时间:2024/05/03 02:36

json是一种轻量级的数据交换格式,是 JavaScript 原生格式,是理想的数据交换格式。
有关的json格式有两种:json对象 和 json字符串
json对象以“{”开始 , 以“}”结束,每个“名称”后跟一个“:”(冒号),‘名:值’ 对 之间运用 “,”(逗号)分隔。
例:

var json1={'name':'小丽', 'sex':'女', 'age':'22'};//严格样式

json字符串,是指该字符串变量的值与json的格式相同,但是不是json对象。
例:

var json2="{ 'name' : '小丽' , 'sex' : '女' , 'age' : '22' }" ;//严格样式`这里写代码片

关于json对象和字符串之间的转换有一下几种方法:

//由JSON字符串转换为JSON对象
方法一.

var obj = eval('(' + str1 + ')'); // js内建方法

方法二.

var obj = str1.parseJSON();//一般不用这个

方法三.

var obj = JSON.parse(str1);//需严格的json格式

//将JSON对象转化为JSON字符串
方法一.

var obj2=str2.toJSONString();

方法二.

var obj2=JSON.stringify(str2);//一般使用这个

json里的内容可以是字符串、数组、对象,当然它们也可以存json内容
例:

var json = {'a':'123', 'b':[1,2,3], 'c':{'d':'e'}};

那怎么要取出里面的数据呢?
例:1.json.a //123
2.json.b[1] //2
3.json[‘b’][2]//3
4.json.c.d//e
5.json.c[‘d’]//e
可以看出取出值可以是 json.key 或者 json[‘key’]!

单个值取出来了,那如何循环读取json呢:

var json={'a':'b', 'c':'1', 'd':'123abc'};

单纯js格式无法直接获取长度,所以需要for in来获取

for (var i in jsn){    alert(json[i]); //b 1 123abc}

i → json的key , jsn[i] → 对应key的值

不过至于具体怎么获取值,还是看自己的json格式!

0 0
原创粉丝点击