javascript解析json字符串,各种格式分析
JS,JSON,EVAL函数说明
JSON.parse(字符串) 方法用于将一个 JSON 字符串转换为对象
JSON.stringify(对象或者数组) 方法是将一个JavaScript值(对象或者数组)转换为一个 JSON字符串
错误1:Unexpected token o in JSON at position 1
错误2:Unexpected token n in JSON at position 2
JS,JSON,EVAL函数说明
JSON就是一个特殊格式的字符串 ,这个字符串可以被任意语言识别,并且可以转换为任意语言中的对象,JSON在开发中主要用来数据的交互
JSON和js对象的格式一样,只不过JSON字符串中的属性名必须加双引号,其他的和js的语法一致
eval() 函数可以用来执行一段字符串形式的JS代码,并将执行结果返回
对象{} 数组[]
js对象
var str = {"name":"xcSharp","age":"18"}
json对象
var str = '{"name":"xcSharp","age":"18"}'
eval()
var str = '{"name":"xcSharp","age":"18"}'
var obj = eval("(" + str + ")");
console.log(obj);
1
2
3
4
5
6
7
8
9
JSON.parse(字符串) 方法用于将一个 JSON 字符串转换为对象
var str = '{"name":"xcSharp","age":"18"}'
var obj=JSON.parse(str);
alert(obj.name);
alert(obj.age);
1
2
3
4
JSON.stringify(对象或者数组) 方法是将一个JavaScript值(对象或者数组)转换为一个 JSON字符串
var str = {"name":"xcSharp","age":"18"}
var obj=JSON.parse(JSON.stringify(str));
alert(obj.name);
alert(obj.age);
1
2
3
4
错误1:Unexpected token o in JSON at position 1
错误源码修改前
var userList={"a":"1","b":"[{name:'lijz',age:18},{name:'lucy',age:16}]"};
var obj = JSON.parse(userList);//JSON.parse(这里是字符串,不能是对象)
var newObj=eval(obj.b);
alert(newObj[1].name);
1
2
3
4
修改后
var userList={"a":"1","b":"[{name:'lijz',age:18},{name:'lucy',age:16}]"};
var obj = JSON.parse(JSON.stringify(userList));
var newObj=eval(obj.b);
alert(newObj[1].name);
1
2
3
4
错误2:Unexpected token n in JSON at position 2
错误源码
var userList={"a":"1","b":"[{name:'lijz',age:18},{name:'lucy',age:16}]"};
var obj = JSON.parse(JSON.stringify(userList));
var newObj=JSON.parse(obj.b);
alert(newObj[0].name);
1
2
3
4
修改后
var userList={"a":"1","b":"[{name:'lijz',age:18},{name:'lucy',age:16}]"};
var obj = JSON.parse(JSON.stringify(userList));
var newObj=eval(obj.b);
alert(newObj[1]
————————————————
版权声明:本文为CSDN博主「xcLeigh」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43151418/article/details/124752520
本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
0条评论