如何从JSON对象中读取键

Ale*_*lex 1 javascript 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"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想搜索一个值(从var现在开始)并找到要返回的键tvdb_id.

例如,如果我搜索"Jamies Best Ever Christmas",我想返回相应的tvdb_id.

这样的事情有帮助吗?

function findKey(obj, value) {
  var key;

  _.each(obj, function (v, k) {
    if (v === value) {
      key = k;
    }
  });

  return key;
}
Run Code Online (Sandbox Code Playgroud)

我该如何实现它?(JSON新手)

Gab*_*oli 5

在您的例子中,你有值key,所以只是用它来访问你想要的属性..

var somevalue = 'Jamies Best Ever Christmas',
    tvdb_id = jsonobj[somevalue].tvdb_id;
Run Code Online (Sandbox Code Playgroud)