gpt4 book ai didi

java - JSON - 使用 Gson 反序列化动态对象

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:33:02 25 4
gpt4 key购买 nike

假设我有一个 Java 类:

public class MyClass
{
public String par1;
public Object par2;
}

然后我有这个:

String json = "{"par1":"val1","par2":{"subpar1":"subval1"}}";

Gson gson = new GsonBuilder.create();
MyClass mClass = gson.fromJson(json, MyClass.class);

par2 JSON 是从其他应用程序提供给我的,我不知道它的参数名称是什么,因为它们是动态的。

我的问题是,应该将 MyClass 上的 par2 变量设置为什么类类型,以便将 JSON String 变量正确反序列化为我的类对象?

谢谢

最佳答案

查看 Serializing and Deserializing Generic Types来自 GSON 用户指南:

public class MyClass<T>
{
public String par1;
public T par2;
}

反序列化:

Type fooType = new TypeToken<Myclass<Foo>>() {}.getType();
gson.fromJson(json, fooType);

希望这对您有所帮助。

关于java - JSON - 使用 Gson 反序列化动态对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8829475/

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