JavaScript 將 JSON Object 轉為 Arrary

JavaScript 將 JSON Object 轉為 Arrary

情境:

為了可以用 陣列(Array) 的方法對 JSON 的物件進行操作,我們必須先把 JSON 物件,轉換為 陣列(Array)

說明:

拿下面 JSON object 為例:

var jsonObj = {"0":"1","1":"2","2":"3","3":"4"};

如果我想取得這 Object 的 length:

console.log(jsonObj.length);

回傳的結果會是:

undefined

這是因為 length,是 陣列(Array) 底下的屬性,也就是說如果我們要使用 陣列(Array) 的方法來對 JSON 的物件進行操作,就必須需要把 JSON 物件轉換成 陣列(Array)

JSON to Array :

使用 原生 JavaScript 的方法作轉換 參考文章

var obj = Object.keys(jsonObj).map(function(_) { return jsonObj[_]; });
console.log(jsonObj)

回傳結果:

(4) ["1", "2", "3", "4"]

此時你在使用 length,的屬性就可以得到我們要的結果

console.log(jsonObj.length);

回傳的結果:

4

之後你可以再使用 JSON.parse() 再將 陣列(Array) 轉為 JSON 回傳

Property & Method:

Object.keys(obj).map(function(_) { return obj[_]; });