Jsonlint顯示,這JSON對象是有效的:JSON解析與多個數據
[{"obj":{"markers":"[{\"k\":47.040182144806664,\"B\":0.52734375},{\"k\":50.90303283111257,\"B\":10.37109375},{\"k\":52.53627304145945,\"B\":-1.7578125},{\"k\":41.77131167976406,\"B\":-6.591796875}]","path":"[[47.040182144806664,0.52734375],[50.90303283111257,10.37109375],[52.53627304145945,-1.7578125],[41.77131167976406,-6.591796875]]"}}]
我試圖訪問標記與K,B和路徑元素,但它總是設置爲undefined。這裏是我的代碼:
try {
var jsonData = JSON.parse(myJson);
console.log(jsonData.obj[0].markers[0].k);
}
catch (e) {
console.error("Parsing error:", e);
}
有人能告訴我如何正確訪問我的JSON對象的元素?謝謝您的幫助。
'obj'是一個對象,而不是一個數組 – chazsolo 2014-12-11 00:02:26
@chazsolo沒有,obj是隻是一個索引我在我的MySQL查詢中使用的數組像這樣:$ rows [] = array('obj'=> $ r); echo json_encode($ rows);它可以是'Bob'... – 2014-12-11 00:04:02
它是因爲標記對象是一個字符串而不是數組所以「markers」的值:「value here in string」 – 2014-12-11 00:07:07