JSON从阵列

问题描述:

选择,我有以下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

在JavaScript中,there is no such thing as a JSON object

您有一个JSON文本,它是一个字符串。

somestring[0]为您提供该字符串的第一个字符。

Use JSON.parse()将您的JSON文本转换为JavaScript数组。

+0

非常感谢! –

这是因为它现在被串行化。

访问'somestring'[0]会给你字符串的第一个字符。

要投你的JSON字符串到一个普通的旧JavaScript对象,你应该做的

var actualArray = JSON.parse(temp); 

然后,actualArray[0]会给你数组中的第一项。

另一种方法是将您的JSON文件解析为字符串并检索值。

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

JavaScriptSerializer slizer = new JavaScriptSerializer(); 

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

Console.Writeline(o1);