当键是变化值时,如何访问键值对中的值?

时间:2014-03-06 19:45:24

标签: json

我将此JSON数据存储在变量result中,现在我想访问result.metadata.data.s1[1].lily的值,但是密钥Lily未知且可能在服务器端更改,所以我将密钥存储为变量,如var key1 = "Lily"。如何使用此var key1访问该值?

{
         "metadata":{

            "data":{
               "s1":[
                  {
                     "Lily":"chat",
                     "time":10
                  },
                  {
                     "Mancy":"chat1",
                     "time":10
                  },
                  {
                     "John":"chat2",
                     "time":10
                  }
               ],
               "s2":[
                  {
                     "Lan":"chat3",
                     "time":10
                  },
                  {
                     "Yoyo":"chat6",
                     "time":10
                  }
               ]
            }
         }

}

1 个答案:

答案 0 :(得分:1)

如果您始终知道它是列表中的第一项,括号表示法应该可以正常工作。

result.metadata.data.s1[0][key1];

如果你不确定它在哪里,那么[0]并不总是正确的,你将不得不遍历result.metadata.data.s1数组中的所有项目才能找到它

上面的代码是获取列表中的第二项,索引为[1],而密钥不是“Lily”,而是“Mancy”。

Here's a codepen demo