解析json并根据条件选择items \ keys

时间:2015-07-21 08:15:22

标签: json rest parsing if-statement conditional-statements

我正在尝试解析从某个REST API获取的json文件。 json有一些数组,我想根据另一个项的值从数组中选择一个特定项。

例如:

[
  {
    "item1": true,
    "item2": "value"
  },
  {
    "item1": false,
    "item2": "value"
  }
]

我想检查item1是否为true,只有这样,我才想从item2获取值。

我该如何处理? 我试过使用一个名为下划线的json解析器,这很好,但我无法得到最终结果。

感谢

3 个答案:

答案 0 :(得分:1)

首先你需要解析:

var objJSON = JSON.parse(yourJsontext);

检查条件

if( objJSON[0].item1 === "true"){

}

对于使用jq的shell脚本,将json复制到test.json:

jq '.[0].item1' test.json

您可以在jqplay

上试用

输入您的json并输入"。[0] .item1"作为过滤器

答案 1 :(得分:0)

如果是来自AJAX,则不需要解析响应。

$.get('api_url', function(response) {
    response.forEach(function (key, value) {
        if (value.item1 == true) {
            console.log(value.item2)
            // Do your thing here
        }
    }
}

答案 2 :(得分:0)

它似乎适用于以下jq行:

jq 'map(select(.item1 == true)) | .[].item2'