我有以下JSON字符串......
JSON:
[{"添加my_id":" 100002"" my_confirmation":" 682354682"},{"添加my_id&#34 ;:" 100005"" my_confirmation":" 281735345"},{"添加my_id":" 100009",& #34; my_confirmation":" 361567356"}]
...然后我将其解析为键/值对数组。
如果尝试匹配" my_id"通过Javascript返回布尔值的最简单方法是什么? for" 100005"?还有,解析成必要的数组吗?
答案 0 :(得分:3)
如果您已经在解析JSON字符串,那么在ECMA5中您可以使用Array.prototype.some
的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上
或者你可以像这样更加时髦
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'));