zl程序教程

您现在的位置是:首页 >  大数据

当前栏目

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

节点JSONJSON 字符串 生成 序列化 名称 生成器
2023-09-14 09:07:28 时间





一、json 生成器



首先 , 创建 json 生成器 。

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

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

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

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

{"student":{"name":"Tom","age":18}}

最后 , 如果想要生成

{"name":"Tom","age":18}

样式的字符串 , 则使用

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

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





二、代码示例



json 生成器代码示例 :

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

执行结果 :

{"student":{"name":"Tom","age":18}}
{"name":"Tom","age":18}

在这里插入图片描述