有时候缺少密钥时如何处理JSON

时间:2018-01-30 05:32:37

标签: javascript json

我正在阅读一个json文件,并且发现有时候我想保存一个新值。有时它不存在。 我怎么处理这个?

"parameters": {
    "dateTime": "2017-10-23T19:23:39Z",
    "agentId": "7771",
    "rp.app_auth": "user:password",
}

AgentId有时是我想要捕获的值。

"parameters": {
    "dateTime": "2017-12-27T18:47:15Z",
    "rp.app_auth": "user:password"
}

有时它不存在。

3 个答案:

答案 0 :(得分:1)

如果您正在寻找检查密钥是否存在的密钥,您可以使用javascript的obj.hasOwnProperty('key')函数来确定密钥。 例如

var obj=JSON.parse('{"key":"value"}');
obj.hasOwnProperty('key'); //returns true
obj.hasOwnProperty('key2'); //returns false

if(obj.hasOwnProperty('key')){
    //do something with the value
}

答案 1 :(得分:0)



const obj = {
  "parameters": {
    "dateTime": "2017-10-23T19:23:39Z",
    "agentId": "7771",
    "rp.app_auth": "user:password",
  }
}

if ("agentId" in obj.parameters) {
  console.log(true);
}




您可以使用in运算符检查密钥是否存在。

答案 2 :(得分:0)

使用默认值。以下代码行将以这种方式工作:它将强制转换为true的第一个值。如果你有一个parameters.agentId,那么myVar将获得它的值,如果你没有它,那么parameters.agentId它将被定义并被强制为false,那么myVar它将是你的defalutValue,因为它会被胁迫为真。

var myVar = parameters.agentId || "defaultValue";

这是处理参数的最佳方式,您不确定它是否可用。

相关问题