使用 javascript 从 JSON 获取特定值

Posted

技术标签:

【中文标题】使用 javascript 从 JSON 获取特定值【英文标题】:Getting specific value from JSON using javascript 【发布时间】:2013-08-20 19:54:10 【问题描述】:

我正在使用 ajax 从服务器返回一小组数据,该数据返回 JSON 数据,格式如下:


    "data": [
        
            "id": "1",
            "value": "One"
        ,
        
            "id": "2",
            "value": "Two"
        ,
        
            "id": "3",
            "value": "Three"
        
    ]

在客户端,它被分配给一个名为response 的变量。我使用response.data 来获取内容。

问题是,有没有一种更简单的方法可以在不进行循环的情况下获取值? 我正在寻找类似response[id==2].value 的东西,它应该给我“两个”。

如果这不可能,我愿意接受任何建议。

【问题讨论】:

重复? ***.com/questions/8481380/… 我理解你的问题,但在你的情况下可以这样做..response.data[2-1].value http://jsfiddle.net/uHbZt/8/这个? 【参考方案1】:

如果您使用 jQuery 的 json parse method 之类的东西将其解析为 javascript 对象,您可以像普通的 javascript 数组一样引用数组中的各种项目。

这样做:

var dataArray = $.parseJSON(myJson).data;

var theFirstData = dataArray[0]; //get the data with id "1"

或者,如果你不想使用 jQuery,你可以使用JSON.parse(jsonToParse)。 Here're the docs for that method.

【讨论】:

【参考方案2】:

您可以采用函数式方法并使用Array.filter 方法:

var matchingResults = JSON['data'].filter(function(x) return x.id == 2; );
// procede to use matching elements...

【讨论】:

一点也不!你让我的回答更适合我。 这正是我所需要的。谢谢! 这个解决方案让我的生活更美好。谢谢!

以上是关于使用 javascript 从 JSON 获取特定值的主要内容,如果未能解决你的问题,请参考以下文章

Javascript:在gulpfile.js中获取package.json数据

使用 unmarshal 从响应中获取特定的 JSON 字段

JavaScript - 有没有一种简单的方法来获取嵌套 JSON 中每次出现的特定键的值

C# 使用 HttpClient 从 JSON 响应中获取特定对象

用于从 JSON 解析特定字段的 Javascript 方法 [重复]

是否可以使用 Javascript/VuejS/Nodejs 包将特定的 JSON 键移动到 JSON 的顶部?