美文网首页
4、Groovy创建JSON与解析JSON处理

4、Groovy创建JSON与解析JSON处理

作者: 爱学习的蹭蹭 | 来源:发表于2021-12-23 17:12 被阅读0次

    1、实体类

    package com.groovy.model
    
    /**
     * 在Groovy不需要自定义构造方法.但是必须要指定属性名称去传参数数据,Groovy会自动创建,在调用的时候会自动生成setter/getter方法
     */
    class User implements Serializable{
        //用户Id
        Long userId
        //用户名
        String userName
        //年龄
        int  age
    }
    
    

    2、测试代码

    package com.groovy.domain
    import com.groovy.model.User
    import groovy.json.JsonOutput
    import groovy.json.JsonSlurper
    import groovy.json.StringEscapeUtils
    import org.junit.Test
    
    class JsonTest {
    
        /**
         * 初始化数据
         * @return
         */
        def initData() {
            //init初始化数据、在Groovy不需要自定义构造方法.但是必须要指定属性名称去传参数数据,Groovy会自动创建,在调用的时候会自动生成setter/getter方法
            def userArray = [
                    new User(userId: System.currentTimeMillis(), userName: "周伯通", age: 90),
                    new User(userId: System.currentTimeMillis(), userName: "瑛姑", age: 89)
            ]
            return userArray
        }
    
        /**
         * 创建Json数据
         */
        @Test
        void createJson() {
    
            //init初始化数据
            def userArray = initData()
    
            //转换成Json数据
            def json = JsonOutput.toJson(userArray)
    
            //格式化Json数据
            def prettyJson = JsonOutput.prettyPrint(json)
    
            //将Unicode转为中文
            def jsonText = StringEscapeUtils.unescapeJava(prettyJson)
            println(jsonText)
    
            //将中文转为Unicode
            //StringEscapeUtils.escapeJava(jsonText)
        }
    
        /**
         * 解析JSON数据
         */
        @Test
        void parseJson() {
            //init初始化数据
            def userArray = initData()
    
            //转换成Json数据
            def json = JsonOutput.toJson(userArray)
    
            //创建JsonSlurper
            def jsonSlurper = new JsonSlurper()
    
            //解析Json数据
            def parse = jsonSlurper.parseText(json)
    
            //循环输出解析出来的信息
            parse.findAll().forEach { owner ->
                //方法1
                //println(owner["userName"] + "," + owner["age"])
    
                //方法2,将数据转换成User对象,此处理同Kotlin语法一样
                def user = owner as User
            println("userId=${user.userId},userName=${user.userName},age=${user.age}")
            }
        }
    }
    

    3、createJson方法运行的结果

    [
        {
            "userName": "周伯通",
            "userId": 1638085075387,
            "age": 90
        },
        {
            "userName": "瑛姑",
            "userId": 1638085075618,
            "age": 89
        }
    ]
    

    4、parseJson方法运行的结果

    userId=1638085179888,userName=周伯通,age=90
    userId=1638085180028,userName=瑛姑,age=89
    

    相关文章

      网友评论

          本文标题:4、Groovy创建JSON与解析JSON处理

          本文链接:https://www.haomeiwen.com/subject/wgthxrtx.html