感覺就像我發佈了一個副本,但我無法找到滿意的答案。如果我是正確的方括號意味着它是一個對象
var jsonresp = $.parseJSON(response);
jsonresp =
{
"success": true,
"resource": {
"street": "the address",
"house_number": number,
"postcode": "postcode",
"town": "city",
}
}
現在: 我已經得到了我解析的JSON對象,它看起來像。但是大括號代表什麼?
比方說,我想獲得街道的價值,爲什麼jsonresp.resource.street
返回undefined?換句話說,大括號內的資源內容是什麼,我應該如何選擇它們?
編輯:謝謝所有的反應。看起來其他事情出錯了。
所以這是我使用的代碼:
$.post(ajaxurl, postretrieve, function(response) {
var jsonresp = $.parseJSON(response);
console.log(jsonresp);
var jsonresp2 = {"success":true,"resource":{"street":"streetname","house_number":20,"postcode":"postcode","town":"city"}};
console.log(jsonresp2.resource.street);
}
我確切地複製粘貼什麼是jsonresp和使之成爲第二個變量jsonresp2。 jsonresp2.resource.street
返回正確的值,但jsonresp.resource.street
給出了一個錯誤:未捕獲TypeError:無法讀取未定義的屬性「街道」
我在這裏做錯了什麼?
EDIT2: 我是json_encoding我的輸出文件在PHP已經是json_encoded,感謝您的幫助!
Felix給出了其中一個答案,讓我找到它。 –
'現在,如果我是正確的,方括號表示它是一個不正確的對象。方括號是一個數組。不過,你的'jsonresp.resource.street'應該給了你價值。 http://jsfiddle.net/6fYag/ –
'jsonresp.resource.street'應該適用於該對象(注意我必須將'number'更改爲某個定義的內容):http://jsfiddle.net/5Sbw3/ –