2012-02-16 92 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(这是不安全的)。