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]
返回_
。
答
在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);
什么是'temp'?你能粘贴整个代码吗? – martriay
我认为Temp是JSON对象名称。 – Developer