用于重新格式化JSON键的Java工具
我正在寻找一种工具,可以轻松地重新格式化JSON对象。具体来说,我希望能够指定一组JSON键来转换为其他键。困难在于我希望能够更改JSON的层次结构 举个例子,如果我能按照以下思路重新格式化某些内容,那将是非常棒的:用于重新格式化JSON键的Java工具,java,json,Java,Json,我正在寻找一种工具,可以轻松地重新格式化JSON对象。具体来说,我希望能够指定一组JSON键来转换为其他键。困难在于我希望能够更改JSON的层次结构 举个例子,如果我能按照以下思路重新格式化某些内容,那将是非常棒的: json1 = { "key1" : "val1", "key2" : "val2", "key3" : { "key4" : "val3", "key5" : "val4", "key6" : {
json1 = {
"key1" : "val1",
"key2" : "val2",
"key3" : {
"key4" : "val3",
"key5" : "val4",
"key6" : {
"key7" : "val5",
"key8" : "val6"
}
}
}
进入
通过这样做:
JsonKeyMapper mapper = new JsonKeyMapper();
mapper.addMapping("key1", "Key1");
mapper.addMapping("key2", "Key2");
mapper.addMapping("key3.key4", "Key4");
mapper.addMapping("key3.key5", "Key5");
mapper.addMapping("key3.key6.key7", "Key7");
mapper.addMapping("key3.key6,key8", "Key8");
mapper.doMapping()
也就是说,我希望能够指定旧JSON键到新JSON键的整个层次映射,而不仅仅是一个简单的字典类型列表
我知道如果有必要,我可以自己编写代码。不过,我也知道这需要几个小时,如果有现成的工具,我宁愿避免头痛。请查看。它有点像JSON的XSLT等价物。是的,请使用JOLT。它是完全用java开发的json到json的转换。您只需要为转换编写一个spec文件。您还可以编写特定于您的自定义转换。此Jolt规范执行您列出的转换
[
{
"operation": "shift",
"spec": {
"key1": "Key1",
"key2": "Key2",
"key3": {
"key4": "Key4",
"key5": "Key5",
"key6": {
"key7": "Advanced.key7",
"key8": "Advanced.key8"
}
}
}
}
]
我可以试试看
[
{
"operation": "shift",
"spec": {
"key1": "Key1",
"key2": "Key2",
"key3": {
"key4": "Key4",
"key5": "Key5",
"key6": {
"key7": "Advanced.key7",
"key8": "Advanced.key8"
}
}
}
}
]