2011-11-21 120 views
2

JSON数组如下容易解析,如何解析Javascript中的Json数组?

{ 
    "movieCategories": [ 
     "a" : "Animation", 
     "b" :"Romance", 
     "c" :"Science Fiction" 
     "d" : "Western" 
    ] 
} 

现在,我有一个JSON响应作为其被存储在文件movies.json以下。我不知道如何解析上述json数组。我不知道如何解析上面的json数组。请帮助。

谢谢。

+3

如果你没有错过'“科幻”'由事故发生后的逗号,这不是有效的JSON。 – nfechner

+0

您在第二个示例中缺少逗号。 “科幻小说”与“西方小说”之间。 – Stefan

+3

你的第一个例子是无效的 - 你有方括号内的标签。 – N3dst4

回答

7

假设

var test = { 
    "movieCategories": [ 
     "Animation", 
     "Romance", 
     "Science Fiction" 
     "Western" 
    ] 
} 

然后从这里https://github.com/douglascrockford/JSON-js

test.movieCategories[0] // Will be Animation 
+0

谢谢,Gfox。没有必要拥有与此相关的密钥?我的意思是,我可以直接访问它,如test.movi​​eCategories [0]? – Gendaful

+0

@ user515990是的,你可以。 – PiTheNumber

+0

不客气。如果没有指定键,那么它就像平常一样被认为是javascript Array,你可以像平时一样遍历它;) – Gfox

1

根据JSLint这是无效的JSON。有一个 “” 丢失:

{ "movieCategories": [ "Animation", "Romance", "Science Fiction", "Western" ] } 

对于剩下的看到:Is it possible to parse JSON with javascript?

+0

嗨,错误地,我错过了逗号。这是一个有效的Json。谢谢您的帮助。 – Gendaful

+0

好的,那么你可以按照链接。这个问题一直出现。 – PiTheNumber

3

下载json2.js包括它在你的页面上。 使用这样

jsonobj = JSON.parse(jsonstring); 
jsonstring = JSON.stringify(jsonobj); 
1

你只能使用eval像

<html> 
<div> 
<script language="javascript"> 
    var arr = '[{ "movieCategories": [ "Animation", "Romance", "Science Fiction" ,"Western" ] }]'; 
    var b = eval(arr)[0]; 
    alert(b.movieCategories); 
</script> 
</div> 
</html>