从JSON获取密钥名称

时间:2015-02-06 15:48:14

标签: jquery json

我有一个JSON字符串:

 var json = {
"result": [{
    "ID": "9",
    "user_name": "Mr Smith",
"authormeta": {
    "session_token": {
    "5633543626268661e7": {
            "expiration": 1423329065
        }
    }
}
}]
}

 $('p').append(json.result[0].ID + ' | ' + json.result[0].user_name + ' | ' + json.result[0].authormeta.session_tokens + ' | ' + json.result[0].authormeta.session_tokens.expiration);

成功获取json.result[0].ID + json.result[0].user_name但遇到动态更改密钥名称的问题 - json.result[0].authormeta.session_tokens和到期值。

它应该在html中显示:9 | Mr Smith | 5633543626268661e7 | 1423329065

我的演示JSFIDDLE在这里http://jsfiddle.net/gegjsb6w/2/

任何正文都可以帮我修改JSFIDDLE来获取我需要的信息。提前谢谢。

1 个答案:

答案 0 :(得分:1)

试试这个,

var sessionKey = Object.keys(json.result[0].authormeta.session_token).pop(),
    session    = json.result[0].authormeta.session_token[sessionKey];

$('p').append(json.result[0].ID + ' ' + json.result[0].user_name + sessionKey + ' ' + session.expiration);
  1. 在JSON对象中有session_token但没有session_tokens
  2. 要获取属性expirationlogin,您需要获取密钥(“5633543626268661e7”),您可以使用Object.keys动态获取它(如我的示例所示)
  3. Example