使用Groovy的JsonSlurper进行实际的POGO映射?

sme*_*eeb 6 groovy json

我已经看到了无数的JsonSlurper示例,用于解析JSON文本并从中创建"JSON对象":

def jsonObject = jsonSlurper.parseText(jsonText)
Run Code Online (Sandbox Code Playgroud)

但是,如果JSON文本代表我的一个FizzBuzz对象呢?我可以使用JsonSlurper将JSON对象映射到FizzBuzz实例吗?如果是这样,怎么样?

Opa*_*pal 8

解析JSON后,JsonSlurper你收到一个Map.如果FizzBuzz有一个Map(参见此处)构造函数,它应该在解析Map传递给构造函数时工作.

请参阅以下示例:

import groovy.json.JsonSlurper

def json = """{ "name": "John", "age": 127 }"""
def parsed = new JsonSlurper().parseText(json)

def person = parsed as Person

assert person.age == 127
assert person.name == 'John'

class Person {
    String name
    int age    
}
Run Code Online (Sandbox Code Playgroud)