【Groovy】json 序列化 ( JsonBuilder 生成器 | 生成带根节点名称的 json 字符串 | 生成不带根节点名称的 json 字符串 )

2023-03-30 11:09:26 浏览数 (2)

文章目录

  • 一、json 生成器
  • 二、代码示例

一、json 生成器


首先 , 创建 json 生成器 。

代码语言:javascript复制
// json 生成器
def jsonBuilder = new JsonBuilder()

然后 , 如果生成一个带根节点名称的 json 字符串 ,需要使用 jsonBuilder.根节点名称 = {闭包} 格式的代码 , 生成 json 字符串 ;

代码语言:javascript复制
// 生成 {"student":{"name":"Tom","age":18}}
// 其中 .student 表示的是根节点的名称 , 这不是一个方法名
jsonBuilder.student{
    name "Tom"
    age 18
}

上述代码生成的 json 字符串为

代码语言:javascript复制
{"student":{"name":"Tom","age":18}}

最后 , 如果想要生成

代码语言:javascript复制
{"name":"Tom","age":18}

样式的字符串 , 则使用

代码语言:javascript复制
// 生成 {"name":"Tom","age":18}
jsonBuilder{
    name "Tom"
    age 18
}

代码即可 , 去掉 .根节点名称 , 直接使用 jsonBuilder{ 闭包 } 生成 json 字符串 ;

二、代码示例


json 生成器代码示例 :

代码语言:javascript复制
import groovy.json.JsonBuilder

// json 生成器
def jsonBuilder = new JsonBuilder()

// 生成 {"student":{"name":"Tom","age":18}}
// 其中 .student 表示的是根节点的名称 , 这不是一个方法名
jsonBuilder.student{
    name "Tom"
    age 18
}
println jsonBuilder

// 生成 {"name":"Tom","age":18}
jsonBuilder{
    name "Tom"
    age 18
}
println jsonBuilder

执行结果 :

代码语言:javascript复制
{"student":{"name":"Tom","age":18}}
{"name":"Tom","age":18}

0 人点赞