【Groovy】json 序列化 ( 类对象转为 json 字符串 | 使用 JsonBuilder 进行转换 | 使用 JsonOutput 进行转换 | 将 json 字符串格式化输出 )

简介: 【Groovy】json 序列化 ( 类对象转为 json 字符串 | 使用 JsonBuilder 进行转换 | 使用 JsonOutput 进行转换 | 将 json 字符串格式化输出 )

一、Groovy 对象转为 json 字符串 ( 使用 JsonBuilder 进行转换 )


声明 Student 类 , 在其中声明 2 22 个成员 , name 和 age ;


class Student {
    def name
    def age
}


创建 Student 对象时 , 构造函数中为这两个成员赋值


def student = new Student(name: "Tom", age: 18)


创建 json 生成器 JsonBuilder 对象 , 构造函数中传入 Student 对象 , 即可完成 json 转换 , 将 Student 对象转为了 json 字符串 ;


// json 生成器
def jsonBuilder = new JsonBuilder(student)
println jsonBuilder.toString()


代码示例 :


import groovy.json.JsonBuilder
class Student {
    def name
    def age
}
def student = new Student(name: "Tom", age: 18)
// json 生成器
def jsonBuilder = new JsonBuilder(student)
println jsonBuilder.toString()


执行结果 :


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


二、使用 JsonOutput 将指定类型对象转为 json 字符串


JsonOutput 可以将 Map , URL , String , Number , Date , UUID , Boolean 等类型的对象转为 json 字符串 ;

image.png


将 Student 对象转为 json 代码如下 :


// 将 Student 对象转为 json
def json = JsonOutput.toJson(student)
println json


执行结果 :


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


三、将 json 字符串格式化输出


使用 JsonOutput.prettyPrint(json) 可以将 json 进行格式化输出 ,


函数原型如下 :

/**
     * Pretty print a JSON payload.
     *
     * @param jsonPayload
     * @return a pretty representation of JSON payload.
     */
    public static String prettyPrint(String jsonPayload) {
    }


将 {"age":18,"name":"Tom"} 使用上述格式化输出 ,


// 格式化输出 json 数据
println JsonOutput.prettyPrint(json)
1
2
输出结果 :
{
    "age": 18,
    "name": "Tom"
}





四、完整代码示例


完整代码示例 :


import groovy.json.JsonBuilder
import groovy.json.JsonOutput
class Student {
    def name
    def age
}
def student = new Student(name: "Tom", age: 18)
// json 生成器
def jsonBuilder = new JsonBuilder(student)
println jsonBuilder.toString()
// 将 Student 对象转为 json
def json = JsonOutput.toJson(student)
println json
// 格式化输出 json 数据
println JsonOutput.prettyPrint(json)


执行结果 :


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

image.png

目录
相关文章
|
3月前
|
存储 Java
序列化流 ObjectInputStream 和 ObjectOutputStream 的基本使用【 File类+IO流知识回顾④】
这篇文章介绍了Java中ObjectInputStream和ObjectOutputStream类的基本使用,这两个类用于实现对象的序列化和反序列化。文章解释了序列化的概念、如何通过实现Serializable接口来实现序列化,以及如何使用transient关键字标记不需要序列化的属性。接着,通过示例代码演示了如何使用ObjectOutputStream进行对象的序列化和ObjectInputStream进行反序列化。
序列化流 ObjectInputStream 和 ObjectOutputStream 的基本使用【 File类+IO流知识回顾④】
|
2月前
|
JSON 数据格式
用来返回Json数据格式的工具--通用类
用来返回Json数据格式的工具--通用类
19 1
|
2月前
|
JSON 前端开发 JavaScript
json字符串如何转为list对象?
json字符串如何转为list对象?
277 7
|
2月前
|
JSON JavaScript 前端开发
js如何格式化一个JSON对象?
js如何格式化一个JSON对象?
93 3
|
3月前
|
JSON 安全 编译器
扩展类实例的序列化和反序列化
扩展类实例的序列化和反序列化
37 1
|
3月前
|
XML JSON JavaScript
JSON对象的stringify()和parse()方法使用
本文阐述了JSON对象的`stringify()`和`parse()`方法的用法,包括如何将JavaScript对象转换为JSON字符串,以及如何将JSON字符串解析回JavaScript对象,并讨论了转换过程中需要注意的事项。
JSON对象的stringify()和parse()方法使用
|
3月前
|
JSON 前端开发 中间件
React读取properties配置文件转化为json对象并使用在url地址中
本文介绍了如何在React项目中读取properties配置文件,将其内容转化为JSON对象,并在请求URL地址时使用这些配置。文章详细说明了异步读取文件、处理字符串转换为JSON对象的过程,并提供了一个封装函数,用于在发起请求前动态生成配置化的URL地址。
86 1
|
2月前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
22天前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
26天前
|
JSON 缓存 前端开发
PHP如何高效地处理JSON数据:从编码到解码
在现代Web开发中,JSON已成为数据交换的标准格式。本文探讨了PHP如何高效处理JSON数据,包括编码和解码的过程。通过简化数据结构、使用优化选项、缓存机制及合理设置解码参数等方法,可以显著提升JSON处理的性能,确保系统快速稳定运行。