2016-08-15 116 views
-1

選擇,我有以下JSON對象:JSON從陣列

[{"_id":"57b1f03ec4f37923cc436100","pokedex_id":134,"location":{"type":"Point","coordinates":[-117.4955084,34.0175467]}}, 
{"_id":"57b1f03fc4f37923cc436101","pokedex_id":134,"location":{"type":"Point","coordinates":[-117.4955084,34.0175467]}}] 

我試圖用console.log(temp[0]);訪問數據,但由於某些原因,我的輸出就是[。我究竟做錯了什麼?此外,任何後續索引似乎都會返回相應的char值。例如:temp[1]返回{,temp[3]返回_

+0

什麼是'temp'?你能粘貼整個代碼嗎? – martriay

+0

我認爲Temp是JSON對象名稱。 – Developer

回答

4

這是因爲它現在被串行化。

訪問'somestring'[0]會給你字符串的第一個字符。

要投你的JSON字符串到一個普通的舊JavaScript對象,你應該做的

var actualArray = JSON.parse(temp); 

然後,actualArray[0]會給你數組中的第一項。

-1

另一種方法是將您的JSON文件解析爲字符串並檢索值。

String JSONFileString = File.ReadAllText("yourFile.json"); 

JavaScriptSerializer slizer = new JavaScriptSerializer(); 

ObjectName o1 = slizer.Deserialize<ObjectName>(JSONString); 

Console.Writeline(o1);