如何从 JSON 对象读取密钥
How to read keys from JSON object
我有以下JSON(截断):
{
"** Please contact a mod by posting on the forums **": {
"tvdb_id": "257937",
"last_updated": 1341780286,
"images": {
"poster": "http://zapp.trakt.us/images/posters/17288.jpg",
"fanart": "http://zapp.trakt.us/images/fanart/17288.jpg"
}
},
"Jamies Best Ever Christmas": {
"tvdb_id": "214161",
"last_updated": 1329701153,
"images": {
"poster": "http://zapp.trakt.us/images/posters/9126.jpg",
"fanart": "http://zapp.trakt.us/images/fanart/9126.jpg"
}
},
"Kuromajo-san ga Tooru!!": {
"tvdb_id": "257914",
"last_updated": 1395775431,
"images": {
"poster": "http://zapp.trakt.us/images/posters/15640.jpg",
"fanart": "http://zapp.trakt.us/images/fanart/15640.jpg"
}
},
"Arbesre Shavuout": {
"tvdb_id": "253960",
"last_updated": 1328789472,
"images": {
"poster": "http://zapp.trakt.us/images/posters/14058.jpg",
"fanart": "http://zapp.trakt.us/images/fanart/14058.jpg"
}
}
}
我想搜索一个值(现在从var
)并找到返回tvdb_id
的键。
例如,如果我搜索"杰米斯有史以来最好的圣诞节",我想返回相应的tvdb_id
。
这样的事情会有帮助吗?
function findKey(obj, value) {
var key;
_.each(obj, function (v, k) {
if (v === value) {
key = k;
}
});
return key;
}
我该如何实现它?(JSON新手)
在您的示例中,您拥有的值是 key
,因此只需使用它来访问您想要的属性。
var somevalue = 'Jamies Best Ever Christmas',
tvdb_id = jsonobj[somevalue].tvdb_id;
在现代浏览器(IE9+,FF4+,Chrome5+,Opera12+,Safari5+)中,您可以使用内置的Object.keys方法:
var keys = Object.keys(myJsonObject);
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
您也可以使用以下一个:
var getKeys = function(obj){
var keys = [];
for(var key in obj){
keys.push(key);
}
return keys;
}
看起来您正在使用下划线.js。
盖比的回答应该符合要求。但是,如果您正在寻找部分匹配,Underscore.js 具有一些很酷的功能。考虑一下:
var mappedResults = _.map(jsonobj, function(key, value, list) {
return {name:key, tvdb_id:value.tvdb_id};
});
这将为您提供一个对象数组,每个对象都有标题和 tvdb id。
要执行搜索,您可以编写如下函数:
function getMatchingIds(searchterm) {
return _.filter(mappedResults, function(entry) {
return (entry.name.indexOf(searchterm) != -1);
});
}
相关文章:
- API密钥使用和检查示例
- react.js中的密钥绑定
- JS对象密钥序列
- 似乎无法使用javascript从AWS 3S中删除密钥
- 加载两个具有相同父密钥名称的json文件
- 如何获取$data.Entity的密钥
- Angular ngRepeat:重复错误(尽管没有重复的密钥)
- CryptoJS和密钥/IV长度
- 基于api密钥的NodeJS web服务
- 输入密钥和firefox提示
- React Rails应用程序中动态子项的密钥分配问题
- 正在Javascript Cookie中设置重复密钥
- 通过localStorage中的密钥获取ID
- 从密钥中获取价值.JavaScript
- 从Javascript中读取Django会话密钥cookie
- 当我不知道密钥的名称时,如何读取 JSON 对象
- 是否有任何库为javascript读取.cer文件,并从中获取密钥
- 在JQuery中,如何从JSON字符串中读取密钥名称
- JSON 加载函数从其他程序读取密钥
- 如何从 JSON 对象读取密钥