js中Json相关知识
JSON与JS对象的关系
JSON 是 JS 对象的字符串表示法, 它使用文本表示一个 JS 对象的信息,本质是一个字符串。例如:
var obj = {a: 'Hello', b: 'World'}; //这是一个对象,注意键名也是可以使用引号包裹的。
var json = '{"a": "Hello", "b": "World"}'; //这是一个 JSON 字符串,本质是一个字符串。JSON与JS对象互转
要实现从JSON字符串转换为JS对象,使用 JSON.parse() 方法:
var obj = JSON.parse('{"a": "Hello", "b": "World"}'); //结果是 {a: 'Hello', b: 'World'}要实现从JS对象转换为JSON字符串,使用 JSON.stringify() 方法:
var json = JSON.stringify({a: 'Hello', b: 'World'}); //结果是 '{"a": "Hello", "b": "World"}'兼容问题
JSON方法只支持IE8以上的浏览器使用,若要兼容IE8以下的浏览器,则需要使用JSON2.js框架。
序列化(json对象转string)
var jsonObj = { id: '01', name: 'Tom' };
JSON.stringify(jsonObj);反序列化(string转json对象)
var jsonString = "{ id: '01', name: 'Tom' }";
JSON.parse(jsonString);
注意
在一般开发中,服务端传递到前端的不一定是一个标准的字符串。 如:
{error:0, id:1, time:152678495612, acc:0, ref:0}而JSON方法只能转换标准的字符串。 如:
{"error":"0", "id":"1", "time":"152678495612", "acc":"0", "ref":"0"}所以,对于服务端传递到前端的数据如果不能保证是标准的字符串,那就要通过转换变成标准字符串。
JavaScript提供了eval()方法: eval() 函数可计算某个字符串,并执行其中的JavaScript代码。var str = '{error:0, id:1, time:152678495612, acc:0, ref:0}';
var obj = eval("("+str+")");本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!