📜  Groovy-JSON(1)

📅  最后修改于: 2023-12-03 15:01:04.845000             🧑  作者: Mango

Groovy-JSON: 解析和生成JSON的最佳选择

如果你需要处理 JSON 数据,Groovy 将是一个不错的选择。特别是,在与 Java 库或语言集成时,Groovy 更是无法匹敌的。

解析 JSON

要解析 JSON,Groovy 提供了 JsonSlurper 类。它将 JSON 转换为 Groovy 对象或 Map。以下是一个使用 JsonSlurper 解析 JSON 的示例:

def json = '{"name": "Alice", "age": 30}'
def slurper = new JsonSlurper()
def result = slurper.parseText(json)
assert result.name == 'Alice'
assert result.age == 30

在上面的示例中,parseText() 方法将 JSON 字符串转换为 Groovy 对象。

如果你想在运行时从文件中读取 JSON,则可以使用 JsonSlurper 中的 parse() 方法:

def slurper = new JsonSlurper()
def result = slurper.parse(new File('data.json'))
// 现在,你可以对 result 对象进行操作
生成 JSON

要生成 JSON,Groovy 提供了 JsonBuilder 类。把 Groovy 对象或 Map 转换为 JSON 非常容易:

def builder = new JsonBuilder()
def json = builder {
    name 'Bob'
    age 42
}
assert json.toString() == '{"name":"Bob","age":42}'

在上面的示例中,Groovy 对象被转换为 JSON 字符串。

如果你有一个集合,也可以很容易地将其转换为 JSON 数组:

def builder = new JsonBuilder()
def data = [1, 2, 3]
def json = builder(data)
assert json.toString() == '[1,2,3]'
总结

Groovy 提供了非常强大和简单的 API 来解析和生成 JSON。JsonSlurperJsonBuilder 类分别负责解析和生成 JSON。不仅如此,Groovy 还提供了一套灵活的语法来操作 JSON 对象和数组。因此,Groovy 可能是处理 JSON 的最佳选择。