我试图解析一个包含很多键的大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())
请帮我把解析后修改的内容写回,以便写入新的文本文件
假设您有一个对象Fields,您要使用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"
}