gpt4 book ai didi

java - 将 json 对象转换为 java 对象。未知类别

转载 作者:太空宇宙 更新时间:2023-11-04 14:12:43 26 4
gpt4 key购买 nike

我想使用作为字符串存储在数据库中的 JSONObject (net.sf.json),并从此 JSONObject 设置和获取属性。我想获取存储在这个 JSONObjects 中的 java 对象(编译时未知类)。我怎样才能做到这一点?

// Let's say I have a POJO "User" with getters and setters
public static void main(String[] args)
{
User user = new User();
JSONObject jsonObject = new JSONObject();
jsonObject.put("user", user);
User u = getAttribute("user", jsonObject);
}

public static <T> T getAttribute(String key, JSONObject json)
{
Type typeOfT = new TypeToken<T>(){}.getType();
return new Gson().fromJson(json.toString(), typeOfT);
}

这会出现错误:com.google.gson.internal.LinkedTreeMap 无法转换为 User

我也尝试过:

public static <T> T getAttribute(String key, JSONObject json, Class<T> type)
{
return new Gson().fromJson(json.toString(), type);
}

有什么建议吗?

最佳答案

您可以使用 Gson google 库将 json 对象转换为 Java 类运行时。Gson 库有一个方法 fromJson(String,className)。它有两个参数,第一个是 String,其中包含 json 数据,第二个是要转换的类名称,最后是返回 Java 类对象

关于java - 将 json 对象转换为 java 对象。未知类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28111127/

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