This question already has answers here:
Get json value from string containing key path [duplicate]

(3个答案)


5年前关闭。




我有这个JSON
var myJSON = {
    "a": {
        "b": {
            "c": {
                "Foo": "Bar"
            }
        }
    }
}

我也有这个数组:
var path = ["a", "b", "c", "foo"]

如何使用该路径获取Bar

最佳答案

checkout Array.prototype.reduce()。这将从myJSON开始,然后遍历path中定义的每个嵌套属性名称。

var myJSON = {
  "a": {
    "b": {
      "c": {
        "Foo": "Bar"
      }
    }
  }
};

var path = ["a", "b", "c", "Foo"]; // capitalized Foo for you...

var val = path.reduce((o, n) => o[n], myJSON);

console.log("val: %o", val);

08-25 11:41
查看更多