`
ceasarje
  • 浏览: 79469 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Groovy对Json的常见处理

阅读更多
1、JsonBuilder构建

示例1,

people = new Expando(name:"ZJ", addr:"ShangHai")
people.phone = [131111111, 132111111] // List
people.expr = [java:2, groovy:1] // Map

builder = new groovy.json.JsonBuilder(people)
writer = new StringWriter()
builder.writeTo(writer)

println writer


返回结果
{
"name":"ZJ",
"addr":"ShangHai",
"phone":[131111111,132111111],
"expr":{
"java":2,
"groovy":1
}
}

===================================================================

示例2,

def builder = new JsonBuilder()
//如同构建对象一样
builder.pepole{
person{
firstName 'lu'
lastName 'zhang'
//传入map
address(
city: 'Shanghai',
country: 'China',
zip: 12345,
)
married false
//传如list
conferences 'sftp', 'windows'
}
}
//以树形结构输出
println JsonOutput.prettyPrint(builder.toString())

运行结果
{
    "pepole": {
        "person": {
            "firstName": "lu",
            "lastName": "zhang",
            "address": {
                "city": "Shanghai",
                "country": "China",
                "zip": 12345
            },
            "married": false,
            "conferences": [
                "sftp",
                "windows"
            ]
        }
    }
}




2、JsonBuilder定制化构建

array = [131111111,132111111]
exp = [java:2, groovy:1]
builder = new groovy.json.JsonBuilder()
builder {
name "ZJ"
addr "ShangHai"
phone array
expr exp
}
writer = new StringWriter()
builder.writeTo(writer)

println writer

返回结果
{
    "name": "ZJ",
    "addr": "ShangHai",
    "phone": [
        131111111,
        132111111
    ],
    "expr": {
        "java": 2,
        "groovy": 1
    }
}


3、JsonSlurper解析

示例1,
jsonText1 = """{
"name":"ZJ",
"addr":"ShangHai",
"phone":[131111111,132111111],
"expr":{
"java":2,
"groovy":1
}
}"""

slurper = new groovy.json.JsonSlurper()
people = slurper.parseText(jsonText1)
//people = slurper.parse(new FileReader('person.json'))
println people.name // ZJ
println people.addr // ShangHai
println people.phone // [131111111, 132111111]
println people.expr // [groovy:1, java:2]


示例2,
jsonText2 = """
{
    "pepole": {
        "person": {
            "firstName": "lu",
            "lastName": "zhang",
            "address": {
                "city": "Shanghai",
                "country": "China",
                "zip": 12345
            },
            "married": false,
            "conferences": [
                "sftp",
                "windows"
            ]
        }
    }
}
"""

//类似XmlSlurper
def root = new JsonSlurper().parseText(jsonText2)
assert root instanceof Map
assert root.person.conferences instanceof List
assert root.person.firtsName == 'lu'
assert root.person.conferences[1] == 'windows'
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    groovy编写webservice服务端和客户端(含连接数据并输出JSON数据)

    标题中的“groovy编写webservice服务端和客户端(含连接数据并输出JSON数据)”表明了本文将探讨如何使用Groovy编程语言来构建Web服务的服务器端和客户端,并且这些服务会涉及与数据库的交互以及JSON数据的处理。...

    groovy脚本实现对数据库的增删改查

    在“groovy脚本实现对数据库的增删改查”这个主题中,我们将深入探讨如何使用Groovy来执行常见的数据库操作。首先,我们需要连接到数据库。在Groovy中,我们可以利用JDBC(Java Database Connectivity)API来实现这...

    groovy代码-临时 json

    在Groovy中处理JSON数据是常见的任务,特别是在需要与Web服务交互或者进行数据转换时。本篇文章将深入探讨Groovy如何处理JSON,并通过`main.groovy`文件中的代码示例进行说明。 首先,Groovy提供了内置的JSON支持,...

    groovy http请求

    import groovy.json.JsonSlurper RESTClient client = new RESTClient('http://example.com') def resp = client.get(path: '/path') def json = new JsonSlurper().parseText(resp.data) println json ``` ...

    Groovy学习资料(包括Groovy in action 的中英文以及API)

    书中还涵盖了Groovy对XML和JSON的支持,使得数据交换和解析更加便捷。 压缩包中的"API"部分可能包含Groovy的标准库文档,这对于开发者来说是非常宝贵的资源。Groovy的API包含了各种内置类、方法和函数,覆盖了I/O、...

    springmvc处理json需要jar

    在Spring MVC框架中,处理JSON数据是常见的任务,特别是在构建RESTful API时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java环境中,Spring ...

    MyVo Generate POJOs.groovy.zip

    Groovy脚本可以通过读取数据库表结构,或者解析JSON、XML等数据格式,获取到字段信息,然后根据这些信息动态生成Java类。通常,一个POJO类会包含属性(fields)、getter和setter方法,以及可能的构造函数。Groovy的...

    多层集合嵌套的JSON数据转化为Java对象(src.zip)

    在IT行业中,JSON(JavaScript Object Notation)是...这种方法在实际开发中非常常见,特别是在处理来自Web服务、API接口或其他系统的JSON数据时。熟练掌握JSON数据与Java对象之间的转换技巧,对提升开发效率至关重要。

    解析json进行动画展示

    在移动应用开发中,特别是在Android平台上,使用JSON数据来创建动态、丰富的动画效果是一种常见做法。本主题将深入探讨如何通过解析JSON来实现动画展示,主要以"Lottie"库为例,该库在Android开发中被广泛用于加载和...

    android常用json传值解析工具类

    本篇文章将详细介绍如何使用阿里巴巴的Fastjson库进行JSON操作,并封装成一个方便使用的工具类,以适应各种常见的传值需求。 Fastjson是阿里巴巴提供的一款Java语言编写的高性能功能完备的JSON库。它不仅能够快速地...

    json依赖包

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式...以上就是关于JSON依赖包的基本介绍,包括常见的JSON处理库以及如何在Java项目中引入和使用这些库。了解并掌握这些知识对于进行Java Web开发至关重要。

    Android中xml转json

    在Android开发中,XML(可扩展标记语言)和JSON(JavaScript Object Notation)都是常见的数据交换格式。XML因其结构化特性适用于复杂的文档存储,而JSON则以其轻量级、易于阅读和编写的特点广泛用于Web服务的数据...

    Android获取HTTPJson

    在Android应用开发中,与服务器进行数据交互是常见的需求,其中JSON作为一种轻量级的数据交换格式,被广泛用于客户端和服务器之间的通信。本教程将详细讲解如何在Android中获取通过HTTP协议传输的JSON数据,以及如何...

    JSON解析数组

    Android JSON解析数组是Android开发中的常见任务,因为许多API返回的数据以JSON数组的形式存在。在这个场景下,我们将深入探讨如何在Android中解析JSON数组,并结合PHP服务器进行数据交互。 首先,我们需要了解JSON...

    android客户端获取json

    在Android应用开发中,与服务器进行数据交互是常见的需求,其中JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于客户端与服务端之间的数据传输。本教程将聚焦于如何在Android客户端利用...

    java把list集合转化为json所需的jar包

    在Java开发中,将List集合转化为JSON格式是常见的数据处理需求。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也方便机器解析和生成。在Java中,我们可以借助第三方库来...

    android xml转jsonxml转json(两种,一种jar包一种工程lib)

    一个常见的XML到JSON转换的jar包是`org.json:json`,它包含了一个名为`JSONObject`的类,可以处理XML和JSON之间的转换。以下是如何使用这个jar包的基本步骤: 1. 将`org.json.jar`文件添加到项目的`libs`目录。 2. ...

    androi中json解析数据

    在Android开发中,JSON(JavaScript Object Notation)是一种常见的数据交换格式,被广泛用于网络通信,尤其是在移动应用中,如Android。本节我们将深入探讨如何在Android中解析JSON数据,以及如何从自建的Tomcat...

    java或android xml转json所需jar包

    在Java和Android开发中,XML和JSON是两种常见的数据交换格式。XML(eXtensible Markup Language)是一种结构化数据格式,广泛用于Web服务和数据存储。而JSON(JavaScript Object Notation)则因其轻量级、易读写的...

    Java Json必须jar包

    在Android和Java开发中,与服务器进行数据交互是常见的任务,而JSON作为一种轻量级的数据交换格式,被广泛用于客户端和服务器之间的数据传输。本文将详细介绍在Java环境下处理JSON所需的jar包,以及如何使用它们来...

Global site tag (gtag.js) - Google Analytics