JSON オブジェクト内の特定のパスを再帰的に検索し、一致がない場合はデフォルト値 (def) にフォールバックする添付メソッドを使用できます。
var get = function (model, path, def) {
path = path || '';
model = model || {};
def = typeof def === 'undefined' ? '' : def;
var parts = path.split('.');
if (parts.length > 1 && typeof model[parts[0]] === 'object') {
return get(model[parts[0]], parts.splice(1).join('.'), def);
} else {
return model[parts[0]] || def;
}
}
そして、あなたはそのようにそれを呼び出すことができます:
get(aData, 'country.XXX.XXXX', ''); //traverse the json object to get the given key