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

问题描述 投票:0回答:4

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

javascript json ecmascript-5
4个回答
10
投票
  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
    

2
投票

因为听起来您正在寻找未知键中的特定值,假设您已经解析了 JSON,那么您将需要更多类似的内容:

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

0
投票

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

最简单的检查,

if(jsonObj['key']) {
}

工作小提琴


0
投票

最短的解决方案:

    var jsObj = JSON.parse('{"v": 10}');
    if (jsObj.v==10) {
        console.log("`v=`"+jsObj.v);
    }

  

© www.soinside.com 2019 - 2024. All rights reserved.