GroovyGroovy 对象转为 json 字符串 ( 使用 JsonBuilder 进行转换 | 使用 JsonOutput 进行转换 | 将 json 字符串格式化输出 )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GroovyGroovy 对象转为 json 字符串 ( 使用 JsonBuilder 进行转换 | 使用 JsonOutput 进行转换 | 将 json 字符串格式化输出 )相关的知识,希望对你有一定的参考价值。

文章目录





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



声明 Student 类 , 在其中声明 2 2 2 个成员 , nameage ;

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 字符串 ;

将 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)

输出结果 :


    "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"

以上是关于GroovyGroovy 对象转为 json 字符串 ( 使用 JsonBuilder 进行转换 | 使用 JsonOutput 进行转换 | 将 json 字符串格式化输出 )的主要内容,如果未能解决你的问题,请参考以下文章

json字符串转为json对象

java对象转为json字符串

小程序json字符串转为对象

JS对象如何转为json格式字符串

JAVA中如何将一个json形式的字符串转为json对象?

13. 字符串转为json对象