SyntaxError:JSON中位置1处的意外令牌o
我在控制器中使用类型类解析了一些数据,如下所示:
{ "data":{
"userList":[
{
"id":1,
"name":"soni"
}
]
},
"status":200,
"config":{
"method":"POST",
"transformRequest":[
null
],
"transformResponse":[
null
],
"url":"/home/main/module/userlist",
"headers":{
"rt":"ajax",
"Tenant":"Id:null",
"Access-Handler":"Authorization:null",
"Accept":"application/json, text/plain, */*"
}
},
"statusText":"OK"
}
我试图像这样存储数据
var userData = _data;var newData = JSON.parse(userData).data.userList;
如何将用户列表提取到新变量?
回答:
您发布的JSON看起来不错,但是在您的代码中,它很可能不再是JSON字符串,而已经是JavaScript对象。这意味着不再需要解析。
您可以自己对此进行测试,例如在Chrome的控制台中:
new Object().toString()// "[object Object]"
JSON.parse(new Object())
// Uncaught SyntaxError: Unexpected token o in JSON at position 1
JSON.parse("[object Object]")
// Uncaught SyntaxError: Unexpected token o in JSON at position 1
JSON.parse()
将输入转换为字符串。toString()
默认情况下,JavaScript对象的方法返回[object
Object],从而导致观察到的行为。
var newData = userData.data.userList;
以上是 SyntaxError:JSON中位置1处的意外令牌o 的全部内容, 来源链接: utcz.com/qa/425373.html