下面是我的动态JSON。我想访问json中的'bf'键,'xxxxxx20160929'和'yyy813AI20160929'键是动态的,但json结构将相同

{
  "resultData": [
    {
      "a": "124",
      "b": "0",
      "c": "0",
      "flc_schedu": {
          "e": "6",
          "f": "en",
          "xxxxxx20160929": [
            {"ID": "yyyyyyyy" },
            {"ID": "fffff"}
         ]
      },
      "fareDetails": {
        "xxxxxx20160929": {
          "yyy813AI20160929": {
            "O": {
              "AD": {
                "bf": "2527"
                    }
                 }
          }
        }
            }
    }
  ]
}


以下是我尝试的方式

response.resultData[0].fareDetails[Object.keys(response.resultData[0].fareDetails)[0]]


如果我按上述方式尝试,则可以动态访问高达“ xxxxxx20160929”的密钥,但是无法动态获取高达“ bf”的密钥。

最佳答案

您可以使用数组语法引用对象。

var one = 'xxxxxx20160929';
var two = 'yyy813AI20160929';
data.resultData[0].fareDetails[one][two].O.AD.bf;


更新:

此代码假定每一层只有一个动态对象。

var one = Object.keys(data.resultData[0].fareDetails)[0];
var two = Object.keys(data.resultData[0].fareDetails[one])[0];
var thing = data.resultData[0].fareDetails[one][two].O.AD.bf;

10-04 18:17