[英]Convert Array To Nested JSON in Javascript?
基本上我想創建一個樹結構。 例如,如果您有一個由四個項組成的數組['a','b','c','d'],那么我需要一個JSON,應該是
{a: {b: {c: {d: 0} } } }
JSON的最后一項的值為0,也可以是object以外的任何值。
轉換步驟很簡單,並具有簡單的循環:
樣例代碼:
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.