gpt4 book ai didi

json - 有没有一种方法可以在Grails中使用Marshaller将JSON字符串解析为自定义对象

转载 作者:行者123 更新时间:2023-12-02 15:15:57 25 4
gpt4 key购买 nike

我正在尝试将JSON字符串解析为我的自定义对象
我已经有一个Marshaller类,可以从对象转换为JSON
并且想知道是否有可能将其用于其他方向的解析,而不是使用JsonSlurper
没有看到关于该对象的清晰的文档或任何其他JSON到对象的映射API,其中不包括使用JsonSlurper手动创建对象编写代码

最佳答案

groovy支持如下所示的简单映射:

import groovy.json.JsonSlurper
import groovy.json.JsonOutput

class A{
int id
String name
}

Map m = new JsonSlurper().parseText('{"id":123,"name":"Joe"}')
A a = m as A
assert a.id==123
assert a.name=="Joe"

def json = JsonOutput.toJson(a)
assert json == '{"id":123,"name":"Joe"}'

对于编码/解码方法,我更喜欢使用Gson库:
@Grab(group='com.google.code.gson', module='gson', version='2.8.5')
import com.google.gson.Gson

class A{
int id
String name
}

A a=new Gson().fromJson('{"id":123,"name":"Joe"}', A.class)
assert a.id==123
assert a.name=="Joe"

def json = new Gson().toJson(a)
assert json == '{"id":123,"name":"Joe"}'

关于json - 有没有一种方法可以在Grails中使用Marshaller将JSON字符串解析为自定义对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60247734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com