【发布时间】:2021-11-02 15:59:15
【问题描述】:
我有一个 JSON 字符串
{"key": "2021-01-01 22:59:59", "data": {"field1": "newvalue1", "field2": "newvalue2"}}
我必须将这个 json 转换成以下内容:
{
"field1": {"before": "oldValue1", "new": "newvalue1"},
"field2": {"before": "oldValue2", "new": "newvalue2"}
}
问题是 field1 和 field2 并不总是存在。原始 JSON 是由 DevExtreme DataGrid 对行的更新动态生成的。这是我走了多远:
编辑: 以下代码有效
var outputJSON = {};
var changes = {"field1": "newvalue1", "field2": "newvalue2"};
for(var i = 0; i < Object.keys(changes).length; i++){
var keyName = Object.keys(changes)[i];
outputJSON[keyName] = {};
outputJSON[keyName]["before"] = Object.values(changes)[0];
outputJSON[keyName]["after"] = Object.values(changes)[1];
}
console.log(JSON.stringify(outputJSON));
我认为这更接近我的需要。
【问题讨论】: