2015-09-21 47 views
0

我正在從API這個響應讀取JSON屬性:無法在JavaScript

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

+5

'ob.response'是一個JSON字符串 – Hacketo

+0

你看到了什麼,如果你'的console.log(R)'在適當的點?如果'r'實際上是一個包含您的第一個代碼示例的字符串,則在解析它之前,需要從字符串的開頭刪除「var ob =」。 –

回答

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); 
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)

1

您需要更改鄂畢變量請婁代碼。

var ob = {"bytesSent":1087,"responseCode":200,"response":{"id":"4b1e9740-6059-11e5-9454-518e45576d76"},"objectId":""} 
alert(ob.response.id); 

http://jsfiddle.net/1w5Lms5n/