「Groovy」- 处理 Object 与 JSON String 之间的转换 @20210214

Object 转为 JSON String

如下代码,可以将对象(List、Map)转化为 Json String:

import groovy.json.JsonOutput

println JsonOutput.toJson(dataObject)

但是,如果数据中包含 Unicode 字符,则 toJson() 将对其进行转义。如下示例以及解决方法:

import groovy.json.JsonOutput
import groovy.json.JsonGenerator.Options

def mapWithUnicode = [key : "好"]

println JsonOutput.toJson(mapWithUnicode)
// {"key":"\u597d"}

println new Options().disableUnicodeEscaping().build().toJson(mapWithUnicode)
// {"key":"好"}

但是,JsonGenerator.Options 无法在 Groovy 2.4.x 中使用,会提示 unable to resolve class groovy.json.JsonGenerator.Options 错误。因为 Jenkins Pipeline 中使用的 Groovy 2.4 版本(09/16/2020 Jenkins 2.241),我们必须解决这个问题。

为了解决上述问题,我们可以求助于第三方类库,比如 Gson 库:

@Grab(group='com.google.code.gson', module='gson', version='2.8.2')
import com.google.gson.Gson

println new Gson().toJson([key : "好"])
// {"key":"好"}

JSON String 转为 Object

import groovy.json.JsonSlurperClassic

return new JsonSlurperClassic().parseText(jsonString)

相关文章

「Groovy」- 处理路径地址
「Groovy」- 操作 HTML 文档
「Groovy」- 操作文件(读取、写入)
「Groovy」- 连接数据库(使用 MySQL 演示)
「Apache Groovy」- 连接 SQLite 数据库
「Apache Groovy」- 运行 Shell 命令
「Apache Groovy」- Grape,依赖管理工具(学习笔记)
「Groovy」- 彩色化输出日志

参考文献

Parsing and producing JSON
How to parse JSON in Java - Stack Overflow
json - How to use Groovy JsonOutput.toJson with data encoded with UTF-8? - Stack Overflow

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Groovy 是一门动态编程语言,它可以将字符串转换JSON 对象。 你可以使用 JsonSlurper 类来将字符串转换JSON 对象。 例如,假设你有一个字符串: ``` def jsonString = '{"name":"John", "age":30, "city":"New York"}' ``` 你可以使用 JsonSlurper 类来将它转换JSON 对象: ``` import groovy.json.JsonSlurper def slurper = new JsonSlurper() def object = slurper.parseText(jsonString) println object.name // "John" println object.age // 30 println object.city // "New York" ``` 如果你想将 JSON 对象转换回字符串,可以使用 `JsonOutput.toJson()` 方法。 例如: ``` import groovy.json.JsonOutput def jsonObject = [name: "John", age: 30, city: "New York"] def jsonString = JsonOutput.toJson(jsonObject) println jsonString // '{"name":"John","age":30,"city":"New York"}' ``` ### 回答2: 使用Groovy实现将字符串转换JSON非常简单。Groovy内置了处理JSON的功能。 首先,我们需要导入Groovy内置的JSONBuilder类,该类可以帮助我们构建JSON对象。 以下是一个简单的示例代码,展示如何将一个字符串转换JSON: ```groovy // 导入JSONBuilder类 import groovy.json.JsonBuilder // 原始字符串 def str = '{"name": "John", "age": 30, "city": "New York"}' // 使用JSONBuilder将字符串转换JSON对象 def json = new JsonBuilder(str).toString() // 输出转换后的JSON字符串 println json ``` 上述代码中,我们首先导入了`groovy.json.JsonBuilder`类。然后,我们定义了一个字符串`str`,它代表了一个有效的JSON字符串。 接下来,我们使用`JsonBuilder`类将字符串`str`转换JSON对象。将字符串作为参数传递给`JsonBuilder`构造函数,并使用`toString()`方法将其转换JSON字符串。 最后,我们通过`println`输出转换后的JSON字符串。 这就是使用Groovy将字符串转换JSON的方法。Groovy提供了简单而强大的JSON处理功能,使得处理JSON数据变得非常简单和方便。 ### 回答3: 使用Groovy实现将字符串转换JSON非常简单和方便。Groovy内置了JsonSlurper类,它提供了将字符串解析为JSON的功能。 以下是一个使用Groovy实现字符串转换JSON的示例代码: ```groovy import groovy.json.JsonSlurper def jsonString = '{"name": "John", "age": 30, "city": "New York"}' def jsonSlurper = new JsonSlurper() def json = jsonSlurper.parseText(jsonString) println json ``` 在上面的例子中,我们定义了一个包含JSON字符串的变量 `jsonString`。然后,我们创建了一个 `JsonSlurper` 实例,并使用 `parseText` 方法将字符串解析为JSON对象。最后,我们打印出了JSON对象。 执行上述代码将输出以下结果: ```plaintext [name:John, age:30, city:New York] ``` 可以看到,原始的JSON字符串已经成功转换为了JSON对象。我们可以使用点表示法(`.`)来访问JSON对象的属性。 以上就是使用Groovy实现字符串转换JSON的简单示例。使用GroovyJsonSlurper类可以轻松地完成JSON的解析和转换
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值