在javascript中查找JSON对象中是否存在值的最佳方法?

时间:2014-01-13 04:11:00

标签: javascript json ecmascript-5

我有一个单级JSON来搜索给定值的存在。 ecma5中是否提供了一种紧凑的方法?

3 个答案:

答案 0 :(得分:6)

  1. 使用JSON.parse解析JSON字符串以获取JavaScript对象。

  2. 使用in运算符检查成员是否存在

    var jsObj = JSON.parse('{"p": 5}');
    console.log(jsObj);
    if ("p" in jsObj) {
        console.log("`p` exists");
    }
    

    <强>输出

    { p: 5 }
    `p` exists
    

答案 1 :(得分:0)

使用JSON.parse解析JSON字符串以获取JavaScript对象, 并做

最简单的检查,

if(jsonObj['key']) {
}

Working fiddle

答案 2 :(得分:0)

因为听起来你正在寻找未知密钥中的特定值,假设你已经解析了你的JSON,你需要更多的东西:

function valueExists(jsObj, value){
    for (var key in jsObj){
        if (jsObj[key] == value) return true;
    }
    return false;
}