如何在groovy [JsonSlurper]中将JSON值转换为转义字符串?

4nkexdtk  于 2022-11-01  发布在  其他
关注(0)|答案(1)|浏览(212)

我有一个运行在Jenkins上的Groovy脚本,我在那里使用JsonSlurper构建了一个json对象
json对象是一个嵌套的对象,我需要将嵌套的json子对象转换为转义字符串值,而不是json对象(这是要求:))。

{"key1":
    {"key2":
       {"key3":true}
    }
 }

转换为字符串转义值:

{"key1": "  {\"key2\":{\"key3\":true}}  " }

我使用以下代码构建json对象:

def jsont = new JsonSlurper().parseText(row)

对json进行一些操作,然后需要转换为字符串:
jsont.key1 = func(jsont.key1) ----> here i want to convert key1 value to escaped字符串
有什么建议吗?

wljmcqd8

wljmcqd81#

import groovy.json.*

def json = '''{"key1":
    {"key2":
       {"key3":true}
    }
 }
'''

def obj = new JsonSlurper().parseText(json)
obj.key1 = JsonOutput.toJson(obj.key1)

json = JsonOutput.toJson(obj)

实验结果:

{"key1":"{\"key2\":{\"key3\":true}}"}

相关问题