无法在javascript中读取json属性

时间:2015-09-21 12:10:56

标签: javascript json

我从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

3 个答案:

答案 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.responseJSON 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);

http://jsfiddle.net/1w5Lms5n/