Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为搜索的键/值对(Javascript)返回布尔值的最简单方法_Javascript_Json - Fatal编程技术网

为搜索的键/值对(Javascript)返回布尔值的最简单方法

为搜索的键/值对(Javascript)返回布尔值的最简单方法,javascript,json,Javascript,Json,我有以下JSON字符串 JSON: [{“我的身份证”:“100002”,“我的确认书”:“682354682”},{“我的身份证”:“100005”,“我的确认书”:“281735345”},{“我的身份证”:“100009”,“我的确认书”:“361567356”}] 。。。然后我将其解析为一个键/值对数组 如果试图将“my_id”与“100005”匹配,通过Javascript返回布尔值的最简单方法是什么?另外,是否需要解析到数组中?如果您已经在解析JSON字符串,那么在ECMA5中可以使

我有以下JSON字符串

JSON:

[{“我的身份证”:“100002”,“我的确认书”:“682354682”},{“我的身份证”:“100005”,“我的确认书”:“281735345”},{“我的身份证”:“100009”,“我的确认书”:“361567356”}]

。。。然后我将其解析为一个键/值对数组


如果试图将“my_id”与“100005”匹配,通过Javascript返回布尔值的最简单方法是什么?另外,是否需要解析到数组中?

如果您已经在解析JSON字符串,那么在ECMA5中可以使用

Javascript

var jsonString = '[{"my_id":"100002","my_confirmation":"682354682"},{"my_id":"100005","my_confirmation":"281735345"},{"my_id":"100009","my_confirmation":"361567356"}]';

var matches = JSON.parse(jsonString).some(function (obj) {
    return obj.my_id === '100005';
});

console.log(matches);
输出

true
如果不想解析JSON,您可以只执行str.indexOf(“'my_id:“100005””)>-1。但它并不真正明白它的目的。你不想对数据做点什么吗?也可以做正则表达式匹配。有很多方法可以做到这一点。你调查了什么?@FelixKling这只是一个小函数,我偶尔会调用它来标记CSS类元素的项。
function myContains(jsonStr, key, value) {
    return JSON.parse(jsonStr).some(function (obj) {
        return obj[key] === value;
    });
}

var jsonString = '[{"my_id":"100002","my_confirmation":"682354682"},{"my_id":"100005","my_confirmation":"281735345"},{"my_id":"100009","my_confirmation":"361567356"}]';

console.log(myContains(jsonString, 'my_id', '100005'));