我有JSON对象,看起来像这样,
Object {doors: Array[3], baseboards: Array[6], casings: Array[3], crown_mouldings: Array[1], panel_mouldings: Array[1]…}
architraves: Array[1]
baseboards: Array[6]
casings: Array[3]
chair_rails: Array[1]
crown_mouldings: Array[1]
doors: Array[3]
panel_mouldings: Array[1]
roofs: Array[8]
我想知道的是我怎样才能获得JSON对象的某个部分。知道我可以做点什么,
console.log(JSON.roofs)返回屋顶数据。我的查询来自于不知道用户在任何时候要求的确切内容,我从系统返回的是一串tex,可以是任何一个键。
有没有办法搜索JSON对象中的密钥并返回该特定数据?
我试过这个......
getData: function(obj, product) {
console.log(obj);
var a = obj;
var index = 0;
var found;
var entry;
for(index = 0; index < Object.keys(a).length; ++index) {
console.log(index);
console.log(a[1]);
entry = a[index];
console.log(entry);
}
},
上述函数的参数obj = json,product等于我正在寻找的键的字符串名称。我没有得到任何回报。最好的方法是什么?
谢谢!
答案 0 :(得分:0)
使用方括号表示法。
var userEnteredKey = "crown_mouldings";
var data = obj[userEnteredKey];
// Array[1]
答案 1 :(得分:0)
使用in
运算符确定对象是否具有该密钥。
var key = 'doors';
if( key in obj )
{
console.log( "The value assigned to the key '" + key + "' is:");
console.log( obj[key] );
}
else
{
console.log( "The key '" + key + "' is not in obj." );
}
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/in