簡體   English   中英

將數組轉換為Javascript中的嵌套JSON?

[英]Convert Array To Nested JSON in Javascript?

基本上我想創建一個樹結構。 例如,如果您有一個由四個項組成的數組['a','b','c','d'],那么我需要一個JSON,應該是

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

JSON的最后一項的值為0,也可以是object以外的任何值。

轉換步驟很簡單,並具有簡單的循環:

  • 反轉數組,因此最后一個成為第一個要轉換的數組(並且它成為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}}}}

在ES5環境中。

 var data = ['a', 'b', 'c', 'd'], jsObject = data.reduceRight(function (acc, datum) { var val = {}; val[datum] = acc; return val; }, 0), jsonString = JSON.stringify(jsObject); document.getElementById('out').textContent = jsonString; 
 <pre id="out"></pre> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM