我正在尝试解析一个包含大量密钥的大型JSON文件,然后在对10-12个密钥进行更改后,我将修改后的内容写回到新的文本文件中。
我面临的问题是键的顺序发生了变化,我必须保持键的顺序。
我使用以下代码来执行此操作
import groovy.json.JsonSlurper
import groovy.json.JsonBuilder
def inputFile = new File("C:\\input\\input.json")
def InputJSON = new JsonSlurper().parseText(inputFile.text)
...
InputJSON.key1 = 'a'
InputJSON.key2 = 'b'
...
new File("C:\\output\\output.txt").write(new JsonBuilder(InputJSON).toPrettyString())
请解析后,帮我回复修改后的内容,以便新文本文件。
答案 0 :(得分:0)
假设您有一个对象使用groovy转换为json的字段
你通常会这样做
new JsonBuilder(obj).toString()
现在如果你想确保json中的键顺序是field2,field3,field4,field1那么你可以做
def listOfFields = [
"field2",
"field3",
"field4",
"field1"
]
Map map = new LinkedHashMap();
listOfFields.each{
map[it] = obj."${it}"
}
new JsonBuilder(obj).toString()
这将确保您的json
{
"field2": "val2",
"field3": "val3",
"field4": "val4",
"field1": "val1"
}