2011-11-21 121 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>