JS,JSON,EVAL函數(shù)說明
JSON.parse(字符串) 方法用于將一個 JSON 字符串轉(zhuǎn)換為對象
JSON.stringify(對象或者數(shù)組) 方法是將一個JavaScript值(對象或者數(shù)組)轉(zhuǎn)換為一個 JSON字符串
錯誤1:Unexpected token o in JSON at position 1
錯誤2:Unexpected token n in JSON at position 2
JS,JSON,EVAL函數(shù)說明
JSON就是一個特殊格式的字符串 ,這個字符串可以被任意語言識別,并且可以轉(zhuǎn)換為任意語言中的對象,JSON在開發(fā)中主要用來數(shù)據(jù)的交互
JSON和js對象的格式一樣,只不過JSON字符串中的屬性名必須加雙引號,其他的和js的語法一致
eval() 函數(shù)可以用來執(zhí)行一段字符串形式的JS代碼,并將執(zhí)行結(jié)果返回
對象{} 數(shù)組[]
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 字符串轉(zhuǎn)換為對象
var str = '{"name":"xcSharp","age":"18"}'
var obj=JSON.parse(str);
alert(obj.name);
alert(obj.age);
1
2
3
4
JSON.stringify(對象或者數(shù)組) 方法是將一個JavaScript值(對象或者數(shù)組)轉(zhuǎn)換為一個 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]
————————————————
版權(quán)聲明:本文為CSDN博主「xcLeigh」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_43151418/article/details/124752520
聯(lián)系客服