如何在js中读取json对象

Bhu*_*van 2 javascript jquery json

我的控制器有一个方法,它返回一个 jsonArray 的字符串表示为

jsonArray.toString()

现在下面是ajax方法

function loadPropertyFile(url) {
$.ajax({
    type: "GET",
    url: url, 
    dataType: "text",
    success: function(response){
        var obj = jQuery.parseJSON(response);
        alert(obj);
    }
});
Run Code Online (Sandbox Code Playgroud)

}

这里解析出来的变量obj是

"[{"portal.home":"Home"},{"displaytag.tracking.id":"Item ID"},{"displaytag.tracking.itemName":"Item Name"},{"displaytag.tracking.itemType":"Type"}]"
Run Code Online (Sandbox Code Playgroud)

现在我想从 js 中的键访问值

IE。我想访问键“displaytag.tracking.id”的值

问题是当我在做console.log(obj[0]["portal.home"]); 它给了我错误TypeError: obj[0] is undefined

我该怎么办 ?

Vis*_*ioN 5

首先需要将JSON 字符串解析为 JavaScript 对象,然后访问所需的属性:

var obj = JSON.parse(json);
console.log(obj[0]["portal.home"]);
Run Code Online (Sandbox Code Playgroud)

在没有原生 JSON 支持的旧浏览器中,你应该使用 Crockford 的json2.js 之类的东西,它会给你一个;请不要在 JSON 上使用 eval(),因为它可能会导致非常糟糕的事情。