我不是 JS 开发人员(在 iOS 上的 WKWebView 中使用 JS,它需要将一些数据注入页面,但这对这个问题没有影响,因为我对它的纯 JS 方面感兴趣),因此这是一个非常基本的问题,为此道歉。
我有这样的结构:
{ "a":
{ "b":
{ "c":
{ "property": "value" }
}
}
}
从“a”到“property”的所有内容都是可选的,并且可能不存在。我需要获得“财产”的价值。
目前我有这个:
function f(value) {
var json = JSON.parse(value);
...
var prop = json.a.b.c.property;
...
这似乎可行,但当然,如果缺少任何部分,a.b.c.property
我会在日志中收到错误:
发生 JavaScript 异常:TypeError: undefined is not an object (evalating 'json.abcproperty')
相反,如果属性不存在,我想提前退出函数。那么我需要将每个级别与 进行比较undefined
,还是有更好的方法呢?
var json = JSON.parse(value);
if json.a == undefined || json.a.b == undefined || json.a.b.c == undefined || json.a.b.c.property == undefined {
return;
}
...
var prop = json.a.b.c.property;
...