gpt4 book ai didi

json - 如何将 Groovy JsonOutput.toJson 与用 UTF-8 编码的数据一起使用?

转载 作者:行者123 更新时间:2023-12-03 16:06:07 34 4
gpt4 key购买 nike

我有一个 UTF-8 编码的文件。

我编写了一个 groovy 脚本来加载具有 JSON 结构的文件,对其进行修改并保存:

def originPreviewFilePath = "./xxx.json"

//target the file
def originFile = new File(originPreviewFilePath)

//load the UTF8 data file as a JSON structure
def originPreview = new JsonSlurper().parse(originFile,'UTF-8')

//Here is my own code to modify originPreview

//Convert the structure to JSON Text
def resultPreviewJson = JsonOutput.toJson(originPreview)

//Beautify JSON Text (Indent)
def finalFileData = JsonOutput.prettyPrint(resultPreviewJson)

//save the JSONText
new File(resultPreviewFilePath).write(finalFileData, 'UTF-8')

问题是 JsonOutput.toJson将 UTF-8 数据转换为 UNICODE。我不明白为什么 JsonSlurper().parse可以使用 UTF-8 但不能使用 JsonOutput.toJson ?

如何拥有 JsonOutput.toJson使用UTF-8?我需要与 JsonSlurper().parse 完全相反

最佳答案

如果有人仍在为此苦苦挣扎,解决方案是禁用 unicode 转义:

new JsonGenerator.Options()
.disableUnicodeEscaping()
.build()
.toJson(object)

关于json - 如何将 Groovy JsonOutput.toJson 与用 UTF-8 编码的数据一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38569874/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com