groovy 反序列化数组
时间: 2023-07-18 19:12:16 浏览: 202
数组逆序程序
在 Groovy 中,你可以使用 `JsonSlurper` 类来反序列化 JSON 数据,包括数组。下面是一个示例,用于从 JSON 数据中反序列化一个字符串数组:
```
import groovy.json.JsonSlurper
def json = '["apple", "banana", "cherry"]'
def slurper = new JsonSlurper()
def myArray = slurper.parseText(json)
assert myArray instanceof List
assert myArray.size() == 3
assert myArray[0] == "apple"
assert myArray[1] == "banana"
assert myArray[2] == "cherry"
```
在上面的示例中,我们首先定义了一个包含字符串数组的 JSON 字符串。然后,我们创建了一个 `JsonSlurper` 对象,并使用其 `parseText` 方法将 JSON 字符串解析为 Groovy 中的对象。最后,我们检查了 `myArray` 对象是否是一个 `List` 类型的对象,并检查了数组中的元素是否正确。
如果 JSON 数据中包含的是对象数组,那么你可以将其反序列化为一个包含多个对象的列表,如下所示:
```
import groovy.json.JsonSlurper
def json = '[{"name": "apple", "price": 1.0}, {"name": "banana", "price": 2.0}, {"name": "cherry", "price": 3.0}]'
def slurper = new JsonSlurper()
def myList = slurper.parseText(json)
assert myList instanceof List
assert myList.size() == 3
assert myList[0].name == "apple"
assert myList[0].price == 1.0
assert myList[1].name == "banana"
assert myList[1].price == 2.0
assert myList[2].name == "cherry"
assert myList[2].price == 3.0
```
在上面的示例中,我们定义了一个包含对象数组的 JSON 字符串。我们使用 `JsonSlurper` 类的 `parseText` 方法将其反序列化为包含三个对象的列表。我们检查了 `myList` 对象是否是一个 `List` 类型的对象,并检查了每个对象的属性是否正确。
阅读全文