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