Чтобы проверить, установлено ли свойство, вы можете просто сказать
if (json[0]['DATA']['name']) {
...
}
, если этот объект явно не может содержать 0
(ноль) или ''
(пустая строка), поскольку они также оцениваются как false
. В этом случае вам нужно явно проверить undefined
if (typeof(json[0]['DATA']['name']) !== "undefined") {
...
}
Если у вас есть несколько таких цепочек ссылок на свойства объекта, функция полезности, такая как:
function readProperty(json, properties) {
// Breaks if properties isn't an array of at least 1 item
if (properties.length == 1)
return json[properties[0]];
else {
var property = properties.shift();
if (typeof(json[property]) !== "undefined")
return readProperty(json[property], properties);
else
return; // returns undefined
}
}
var myValue = readProperty(json, [0, 'DATA', 'name', 0, 'DATA', 'first_0']);
if (typeof(myValue) !== 'undefined') {
// Do something with myValue
}