【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

目录
相关文章
|
缓存 安全 PHP
PHP中的魔术方法与对象序列化
本文将深入探讨PHP中的魔术方法,特别是与对象序列化和反序列化相关的__sleep()和__wakeup()方法。通过实例解析,帮助读者理解如何在实际应用中有效利用这些魔术方法,提高开发效率和代码质量。
|
JSON IDE Java
鸿蒙开发:json转对象插件回来了
首先,我重新编译了插件,进行了上传,大家可以下载最新的安装包进行体验了,还是和以前一样,提供了在线版和IDE插件版,两个选择,最新的版本,除了升级了版本,兼容了最新的DevEco Studio ,还做了一层优化,就是针对嵌套对象和属性的生成,使用方式呢,一年前的文章中有过详细的概述,这里呢也简单介绍一下。
386 4
鸿蒙开发:json转对象插件回来了
|
11月前
|
JSON 人工智能 Go
在Golang中序列化JSON字符串的教程
在Golang中,使用`json.Marshal()`可将数据结构序列化为JSON格式。若直接对JSON字符串进行序列化,会因转义字符导致错误。解决方案包括使用`[]byte`或`json.RawMessage()`来避免双引号被转义,从而正确实现JSON的序列化与反序列化。
641 7
|
JSON JavaScript 前端开发
处理从API返回的JSON数据时返回Unicode编码字符串怎么处理
在处理API返回的JSON数据时,遇到类似`\u7f51\u7edc\u8fde\u63a5\u9519\u8bef`的Unicode编码字符串,可使用JavaScript内置方法转换为可读文字。主要方法包括:1. 使用`JSON.parse`自动解析;2. 使用`decodeURIComponent`和`escape`组合解码;3. 在API调用中直接处理响应数据。这些方法能有效处理多语言内容,确保正确显示非ASCII字符。
|
存储 安全 Java
Java编程中的对象序列化与反序列化
【10月更文挑战第22天】在Java的世界里,对象序列化和反序列化是数据持久化和网络传输的关键技术。本文将带你了解如何在Java中实现对象的序列化与反序列化,并探讨其背后的原理。通过实际代码示例,我们将一步步展示如何将复杂数据结构转换为字节流,以及如何将这些字节流还原为Java对象。文章还将讨论在使用序列化时应注意的安全性问题,以确保你的应用程序既高效又安全。
|
JSON 前端开发 数据格式
前端的全栈之路Meteor篇(五):自定义对象序列化的EJSON介绍 - 跨设备的对象传输
EJSON是Meteor框架中扩展了标准JSON的库,支持更多数据类型如`Date`、`Binary`等。它提供了序列化和反序列化功能,使客户端和服务器之间的复杂数据传输更加便捷高效。EJSON还支持自定义对象的定义和传输,通过`EJSON.addType`注册自定义类型,确保数据在两端无缝传递。
374 1
|
存储 安全 Java
Java编程中的对象序列化与反序列化
【10月更文挑战第3天】在Java编程的世界里,对象序列化与反序列化是实现数据持久化和网络传输的关键技术。本文将深入探讨Java序列化的原理、应用场景以及如何通过代码示例实现对象的序列化与反序列化过程。从基础概念到实践操作,我们将一步步揭示这一技术的魅力所在。
|
JSON 前端开发 JavaScript
json字符串如何转为list对象?
json字符串如何转为list对象?
2297 7
|
存储 Java
Java编程中的对象序列化与反序列化
【10月更文挑战第9天】在Java的世界里,对象序列化是连接数据持久化与网络通信的桥梁。本文将深入探讨Java对象序列化的机制、实践方法及反序列化过程,通过代码示例揭示其背后的原理。从基础概念到高级应用,我们将一步步揭开序列化技术的神秘面纱,让读者能够掌握这一强大工具,以应对数据存储和传输的挑战。
|
JSON 缓存 NoSQL
Redis 在线查看序列化对象技术详解
Redis 在线查看序列化对象技术详解
417 3

热门文章

最新文章