JSON与对象的相互转换json是⼀种轻量级的数据格式,(本质为字符串)
低版本可以使⽤json2.js插件来解决。下载地址:github/douglascrockford/JSON-js JSON语法:数据在名称/值对中、数据由逗号分隔、花括号保存对象、⽅括号保存数组
'{"name":"⼩明","age":18}'
'["name":"⼩明","age",18]'js获取json的key和value
把JSON格式转成对象:JSON.parse()
注意:
JSON格式必须为标准的JSON格式
key值必须是双引号(单引号会报错)
value如果是字符串也要加双引号
let json = '[{"name":"⼩明","age":18},{"name":"⼩花","age":16}]';
json = JSON.parse(json);
console.log(json);
把对象转成标准json:JSON.stringify()
let obj = {name:'⼩明','age':18,a:function(){},b:true};
console.log(JSON.stringify(obj));//{"name":"⼩明","age":18,"b":true}
注:转不了undefined和函数(即使转了也不会显⽰)
eval():能够把字符串尽量转成js运⾏的代码
⼩技巧 - > 在使⽤eval传化json的时候,json⽤字符串括号包⼀下 eval('('+json+')')
eval是不安全的(可能会注⼊不必要的东西),通过new Function('','return'+json)();可以解决该问题 let json = "{'name':'蜘蛛侠'}";
// console.log(JSON.parse(json));
// console.log(eval('('+ json +')'));
// console.log(new Function('a,b','return a+b')(1,2));
console.log(new Function('','return'+json)());

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。