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