javascript - 如何在js中读取一个json对象

标签 javascript jquery json

我的 Controller 有一个方法返回 jsonArray 的字符串表示作为

jsonArray.toString()

下面是ajax方法

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

这里解析出来的变量obj是

"[{"portal.home":"Home"},{"displaytag.tracking.id":"Item ID"},{"displaytag.tracking.itemName":"Item Name"},{"displaytag.tracking.itemType":"Type"}]"

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

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

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

我该怎么办?

最佳答案

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

var obj = JSON.parse(json);
console.log(obj[0]["portal.home"]);

在没有 native JSON 支持的旧浏览器中,您应该使用类似 Crockford 的 json2.js 的浏览器。 , 这会给你一个;请不要在 JSON 上使用 eval(),因为它会导致非常糟糕的结果。

关于javascript - 如何在js中读取一个json对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14519041/

相关文章:

javascript - 使用 jquery 进行时间跟踪

javascript - JS 数组中的 Foreach

PHP文件上传

javascript - 推迟搜索直至模板加载

javascript - Vue.js (Nuxt) 返回 JSON 数据

c# - 查询反序列化的 JSON 对象

javascript - 如何使用 JavaScript 按标题选择元素并更新它

php - 单击清除或隐藏具有相同类名的标签

javascript - 按在 Internet Explorer 中不起作用的文本进行过滤

service - ASP.NET JSON Web 服务响应格式