迭代JSON对象字符串

时间:2012-02-16 17:55:31

标签: javascript json

我是一个javascript noob。在创建json字符串之后,我有一个由google gson API创建的JSON字符串,我将它传递给我的javascript函数。所以在javascript变量中我有一个字符串如下

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

如何迭代这个或获取密钥的值,就像我必须找到validationCode或caseNumber,但这是String?欢迎任何建议

3 个答案:

答案 0 :(得分:8)

您可以使用JSON.parse

将其转换为原生JavaScript对象
var obj = JSON.parse(yourJSONString);

然后你可以用in循环的标准迭代键

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,因此如果您想支持它们,您可以使用Papa Crockford的json2或jQuery,它具有parseJSON实用程序方法

答案 1 :(得分:1)

您可以执行for ... in循环访问对象属性:

var person={fname:"John",lname:"Doe",age:25};

var x;

for (x in person)
{
   document.write(person[x] + " ");
}

http://www.w3schools.com/js/js_loop_for_in.asp

答案 2 :(得分:0)

如果您使用的是JQuery框架,则可以使用:jQuery.parseJSON

如果不是,您可以使用JSON.parse(),或者您可以使用eval(安全性较低)。