如何在groovy中将java.lang.String转换为json

Posted

技术标签:

【中文标题】如何在groovy中将java.lang.String转换为json【英文标题】:How to convert java.lang.String to json in groovy 【发布时间】:2019-02-02 07:50:01 【问题描述】:

我的 java.lang.String 的格式是

 [["ABC":"total":0,"failed":0,"skipped":0], ["BCD": "total":0,"failed":0,"skipped":0]]

如何在 groovy 中将其转换为 json?

【问题讨论】:

看起来已经像 JSON... 也许您想将字符串解析为对象?你的最终目标是什么? how to parse json using groovy的可能重复 【参考方案1】:

使用内置 groovy 工具从字符串中解析 json 是使用 groovy.json.JsonSlurper 完成的。你可以在here查看文档。

下面是访问示例 json 的方式,就像 groovy 嵌套地图一样:

def str = '[["ABC":"total":0,"failed":0,"skipped":0], ["BCD": "total":0,"failed":0,"skipped":0]]'
def parser = new JsonSlurper()
def json = parser.parseText(str)
assert json[0][0].ABC.total == 0
assert json[0][0].ABC.failed == 0
assert json[0][0].ABC.skipped == 0
assert json[1][0].BCD.total == 0
assert json[1][0].BCD.failed == 0
assert json[1][0].BCD.skipped == 0

【讨论】:

以上是关于如何在groovy中将java.lang.String转换为json的主要内容,如果未能解决你的问题,请参考以下文章

如何在groovy中将十六进制转换为字符?

Caused by: javax.el.PropertyNotFoundException: Property [userName] not found on type [java.lang.Stri

在 Groovy 中将字符串转换为 InputStream

如何在Java或Groovy中将列表值动态更改为另一个列表

在 Groovy 中将方法作为参数传递

在 Groovy 中将字符串转换为 int