我试图解析JSON文件,我从某一个REST API获取。 JSON的有几个阵列,我想从基于其他项目的值的阵列选择一个特定的项目。
例如:
[
{
"item1": true,
"item2": "value"
},
{
"item1": false,
"item2": "value"
}
]
我想,以检查是否物品1是真实的,只有到那时,我想从ITEM2值。
我将如何处理呢? 我试图使用名为下划线JSON解析器这是伟大的,但我不能得到最终结果。
谢谢
首先,你需要解析:
var objJSON = JSON.parse(yourJsontext);
并检查条件
if( objJSON[0].item1 === "true"){
}
对于使用shell脚本JQ ,你的JSON复制到test.json:
jq '.[0].item1' test.json
你试试jqplay
输入您的JSON和输入”。[0] .item1" 作为过滤器
如果是从一个AJAX,您不需要解析响应。
$.get('api_url', function(response) {
response.forEach(function (key, value) {
if (value.item1 == true) {
console.log(value.item2)
// Do your thing here
}
}
}
这似乎与下列JQ行的工作:
jq 'map(select(.item1 == true)) | .[].item2'