json 分为两种结构 数组 对象
对象 { }
对象里的键值对 1.键值对之间用冒号链接 2.键必须用“”包裹 3.值如果是字符串 就用“”包裹 如果是数字 则不需要 4.键值对之间用逗号分隔
格式如下:
var a = {“name”:“yao”,“age”:12,"sex":0 };
数组 [ ]
值大有序集合 值之间 用逗号分隔
格式如下:
var list = [{“name”:“yao”,“age”:12,"sex":0 },{“name”:“wang”,“age”:12,"sex":1 },{“name”:“zhang”,“age”:11,"sex":0 }];
在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。
json 字符串: var a = ‘{ ‘name’:‘yao’,‘age’:12,‘sex’:0}’;
json 对象: var obj = { ‘name’:‘yao’,‘age’:12,‘sex’:0};
重点知识
json字符串转json对象 方法
1. var obj = a.parseJSON( );
2. var obj = JSON.parse( a ); //js内置方法
3. var obj = eval(‘(‘ + str + ‘)‘);//js内置方法
之后 通过obj.name obj.sex 得到值
注意点 如果a 本身就是json对象 那么用eval()函数转换后(哪怕是多次转换)还是JSON对象 但是使用其他方法 会报错!
json对象转json字符串
1. var str = obj.toJSONString( );
2. var str = obj.JSONstringify( );//js内置方法
var str1 = ‘{ "name": "cxh", "sex": "man" }‘;
undefined
str1.parseJSON()
VM324:1 Uncaught TypeError: str1.parseJSON is not a function
at <anonymous>:1:6
(anonymous) @ VM324:1
JSON.parse(str1)
{name: "cxh", sex: "man"}
var str2 = { "name": "cxh", "sex": "man" };
undefined
JSON.stringify(str2)
"{"name":"cxh","sex":"man"}"
原文:https://www.cnblogs.com/wgj-yzy/p/11048358.html