我从API获得此响应:
var ob = {"bytesSent":1087,"responseCode":200,"response":"{\"id\":\"4b1e9740-6059-11e5-9454-518e45576d76\"}","objectId":""}
如果我ob.response.id
它显示未定义。可能是什么伎俩?
我尝试var rss=JSON.parse(ob);
,但显示SyntaxError: Unexpected token o
答案 0 :(得分:7)
response
是api响应中另一个未解析的JSON(字符串)。您需要解析response
:
var ob = {"bytesSent":1087,"responseCode":200,"response":"{\"id\":\"4b1e9740-6059-11e5-9454-518e45576d76\"}","objectId":""}
var ob2 = JSON.parse(ob.response);
console.log(ob2.id);
答案 1 :(得分:3)
问题是ob.response
是JSON string
,而不只是JSON
。
var ob = {
"bytesSent": 1087,
"responseCode": 200,
"response": "{\"id\":\"4b1e9740-6059-11e5-9454-518e45576d76\"}",
"objectId": ""
};
alert(typeof ob.response);
alert(JSON.parse(ob.response).id)

答案 2 :(得分:1)
您需要更改Ob变量,请检查以下代码。
var ob = {"bytesSent":1087,"responseCode":200,"response":{"id":"4b1e9740-6059-11e5-9454-518e45576d76"},"objectId":""}
alert(ob.response.id);