我正在阅读一个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"
}
有时它不存在。
答案 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";
这是处理参数的最佳方式,您不确定它是否可用。