javascript - 在 Javascript 中将数组转换为嵌套 JSON?

标签 javascript jquery arrays json logic

基本上我想创建一个树结构。例如,如果您有一个由四个项目 ['a', 'b', 'c', 'd'] 组成的数组,那么我需要一个 JSON,它应该是

{a: {b: {c: {d: 0} } } }

JSON 的最后一项值为 0,或者可以是除对象之外的任何内容。

最佳答案

转换步骤很简单,循环也很简单:

  • 反转数组,使最后一个元素成为第一个转换的元素(并且成为 JSON 最里面的元素)。
  • 迭代每个元素,生成对象的键值对,并重复包装它。
  • 完成

示例代码:

var array = ['a', 'b', 'c', 'd']; // input array
var json = {}; // output object
array.reverse().forEach(function(el){
    if (Object.keys(json).length==0){
        json[el] = 0;
    }
    else{
        var outer = {};
        outer[el] = json;
        json = outer;
    }
});

输出

{"a": {"b": {"c": {"d": 0} } } }

关于javascript - 在 Javascript 中将数组转换为嵌套 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31186343/

相关文章:

JavaScript:如何删除包含特定字符串的行

javascript - 在 svelte 中使用后退按钮事件监听器

javascript - 是否可以通过 Tampermonkey 脚本修改响应 header ?

javascript - 我的 AngularJS 页面卡在移动版本和谷歌浏览器控制台不显示任何错误消息

JavaScript 移动拖放

javascript - CSS 过渡只能在 FF 和 Chrome 中工作一次

Java: "myString[hey, there]"到 HashSet?

javascript - 检测浏览器关闭事件

Python: numpy.insert NaN 值

python - 比较 2 个列表列表(字符串和数组)