JSON格式我管理一個XML轉換成JSON格式,但現在我需要操縱數據,以便我可以用特定的所需格式操縱與JavaScript
這裏結束了爲原來的形式
{
"machine": "Hassia2",
"actual_product_date": "08/24/2017",
"holding_tank_table": {
"row_0": {
"A": "Good Taste",
"B": "Slight open",
"C": "46",
},
"row_1": {
"A": "Bad Taste",
"B": "Grainy",
"C": "125",
}
},
"packed_product_table": {
"row_0": {
"D_1": "orange",
"D_2": "banana",
"D_3": "apple",
"E_1": "46",
"E_2": "18",
"E_3": "1",
},
"row_1": {
"D_1": "mango",
"D_2": "litchy",
"D_3": "pinneaple",
"E_1": "52",
"E_2": "63",
"E_3": "1",
}
},
"hr_qc_table": {
"row_0": {
"F": "",
"G": ""
}
}
}
這裏是需要的形式
{
"machine": "Hassia2",
"actual_product_date": "08/24/2017",
"holding_tank_table": {
"A": [["Good Taste"],["Bad Taste"]],
"B": [["Slight open"],["Grainy"]],
"C": [["46"],["125"]]
},
"packed_product_table": {
"D": [["orange","banana","apple"],["mango","litchy","pinneaple"]],
"E": [[46,18,1],[52,63,1]]
},
"hr_qc_table": {
"F": [[""]],
"G": [[""]]
}
}
通知的row_n在原來的形式,我需要的是:
- 爲具有2個或更多的行作爲父具有2D陣列
- 的用於具有增量名稱爲具有堆疊在1個陣列
對於它們的值的每個屬性的陣列的每個屬性第二點,我設法使之成爲這樣
var object = {
"D_1": "orange",
"D_2": "banana",
"D_3": "apple",
"E_1": "46",
"E_2": "18",
"E_3": "1",
};
Object.keys(object).forEach(function (k) {
var parts = k.split(/_(?=\d+$)/);
if (parts.length === 2) {
object[parts[0]] = object[parts[0]] || [];
object[parts[0]][parts[1] - 1] = object[k]; // subtract one for zero based array
delete object[k];
}
});
console.log(object);
但現在我試圖找到一種方法來實現考慮第二個功能的第一點。
在此先感謝
注: 的名稱和對象的大小已經爲這個例子的目的
因此,行總是有鑰匙row_n,或將這種變化藏漢? –
行總是要row_n @ManuelOtto – Jonathan