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

回到顶部