Javascript 在JSON中搜索特定键并返回该数据
我有一个JSON对象,看起来像这样Javascript 在JSON中搜索特定键并返回该数据,javascript,json,key-value,Javascript,Json,Key Value,我有一个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_mo
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对象的某一部分。很明显我可以做这样的事情
log(JSON.roof)返回屋顶数据。我的查询来自于不知道用户在任何时候都会请求什么,我从系统中得到的只是一个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);
}
},
getData:function(对象、产品){
控制台日志(obj);
var a=obj;
var指数=0;
var发现;
风险价值分录;
对于(索引=0;索引
上述函数的参数obj=json,product等于我要查找的键的字符串名。我没有得到任何回报。最好的办法是什么
谢谢 使用方括号表示法
var userEnteredKey = "crown_mouldings";
var data = obj[userEnteredKey];
// Array[1]
使用中的
操作符确定对象是否具有该键
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." );
}
如果index
是属性名称字符串,而不是数字,则它会work@LutzHorn下面是我的JSON my badlike@itcouldenbeaboat答案的console.log,您只需使用obj[product]
/obj.product
以获取数据数组,如果您没有在数组中查找任何进一步的数据搜索。下面我的答案是先搜索对象,然后返回有效的数据。如果密钥不存在,接受的答案将抛出错误。