Groovy面向对象基本语法json和xml解析

562 阅读1分钟

一、class、interface、trait

  1. groovy中所有类型默认是 public的

  2. 所有类都是继承groovyObject。

二、class

groovy可以省略class的构造方法、get、set方法


//类里的方法定义
def method(){
    println "aaa"
}

三、interface

接口中不能定义非public的方法。

四、trait

跟抽象类很类似。只不过实现trait用的是implements

五、json

1. 将对象转成json字符串

def list = [new Person(name:'aa',age:11),new Person(name:'bb',age:12)]
//没格式化的JSON
def json = JsonOutput.toJson(list)
//格式化的JSON
JsonOutput.prettyPrint(json)

2.json字符串转换成对象


def jsonSlurper = new JsonSlurper();

def object = jsonSlurper.parse("Sring".getByte())

六、xml解析

1.解析xml文件


def xmlSluper = new XmlSlurper()
//result 就是第一个标签的对象
def result = xmlSluper.parseText(xml)

//获取第一个标签的属性里的值。
result.@package

//获取子标签里的文本test是子标签
result.test.text()

//有域名控件的需要带上域名空间
result.declareNamespace('android',"http://schemas.android.com/apk/res/android")
result.application.@'android:allowBackup'
result.application.activity[0].@'android:name'

//遍历节点
result.application.activity.each{activity->
        println activity.@'android:name'
}


2.生成xml

def sw = new StringWriter()
def xmlBuilder = new MarkupBuilder(sw)
//创建html标签
xmlBuilder.html(){
    //闭包表示在html里面要创建标签
    
    //创建title标签,有key,value的是标签里的属性,没key的是标签里的值/
    title(id:'123',name:'android','xml生成'){
    }

}