我有以下 JSON 字符串...
JSON:
[{"my_id":"100002","my_confirmation":"682354682"},{"my_id":"100005","my_confirmation":"281735345"},{"my_id":"100009","my_confirmation":"361567356"}]
... 然后我将其解析为键/值对数组。
如果尝试匹配“100005”的“my_id”,通过 Javascript 返回 bool 值的最简单方法是什么?还有,是否需要解析成数组?
最佳答案
如果您已经在解析 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
On jsFiddle
or you could go even more funky like this
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'));
关于javascript - 为搜索到的键/值对返回 bool 值的最简单方法 (Javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22443788/