2012-02-16 114 views
2

我是javascript noob。創建了json字符串後,我通過google gson API創建了一個JSON字符串,並將其傳遞給我的javascript函數。因此,在一個javascript變量我有一個字符串如下迭代JSON對象字符串

'{"validationCode":"V10291","caseNumber":"2010CF101011","documentSource":"EFILE","countyDocumentID":"CD102","documentTitle":"D Title","signedDate":"01/01/2012","signedBy":"CPSJC","comments":"YES Comments"}' 

如何在這個迭代或得到像我必須找到validationCode或caseNumber關鍵的東西價值,但這是字符串?任何建議,歡迎

回答

8

你可以把它變成一個本地JavaScript對象與JSON.parse

var obj = JSON.parse(yourJSONString); 

然後你就可以用標準的重複鍵在循環

for(var k in obj) 
    if ({}.hasOwnProperty.call(obj, k)) 
     console.log(k, " = ", obj[k]); 

或訪問特定的鍵如validationCodecaseNumber直接:

var caseNum = obj.caseNumber; 
var validationCode = obj.validationCode; 

需要注意的是真的老的瀏覽器不支持JSON.parse,所以如果你想支持他們,您可以使用爸爸Crockford的json2,或jQuery的,其中有一個parseJSON實用方法。

+0

謝謝你這工作,因爲它是JSON字符串。其他答案沒有,因爲我沒有Json對象 – 2012-02-16 18:02:53

+0

真的很老的JavaScript包括IE 6嗎? :) – 2012-02-16 18:04:13

+1

@SandeepNair - 是的。即使IE7缺乏支持或JSON對象。對不起:(如果你需要支持他們,我建議使用jQuery或crockford的json2(都鏈接上面)來做你的解析 – 2012-02-16 18:05:27

0

如果你正在使用jQuery框架,你可以使用:jQuery.parseJSON

如果不是,您可以使用JSON.parse()或你可以使用eval(這是不安全的)。