使用javascript从JSON获取特定值

时间:2013-08-19 05:03:02

标签: javascript json parsing

我正在使用ajax从服务器获取一小组数据,这些数据以下列格式返回JSON数据:

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

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

问题是,是否有更简单的方法来获取值而不进行循环? 我有点像这样的response[id==2].value,它应该给我“两个”。

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

2 个答案:

答案 0 :(得分:3)

您可以采用功能方法并使用Array.filter方法:

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

答案 1 :(得分:2)

如果使用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.