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



我将此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
                  }
               ]
            }
         }
}

如果您始终知道这是列表中的第一个项目,则括号符号应正常工作。

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

如果您不确定它的位置,那么[0]将不会总是正确的,并且您必须迭代result.metadata.data.s1数组中的所有项目才能找到它。

您上面的代码在列表中获得第二个项目,索引[1],其中的密钥不是"百合",它是" Mancy"。

这是Codepen演示

最新更新