繁体   English   中英

如何使用GSON将地图映射转换为JSON,然后又转换为JSON?

[英]How do I convert a Map of Maps into JSON, and back, using GSON?

我有一个Map<Integer, Map<Class<?>, Serializable>> ,我想将它存储为JSON字符串。 然后,稍后,我尝试从相同的JSON格式的String中读取内容以重新创建对象。 您将如何使用GSON做到这一点?

而不是然后使用Map尝试使用Map的类结构。

或者,您可以使用以下库来实现相同目的。

com.google.gson.Gson.Gson()

使用以下方法:

public static String getJSONString(Object jsonObject)
{
    if(jsonObject == null) return "";
    return new Gson().toJson(jsonObject);
}

尝试序列化Map<Integer, Map<Class<?>, Serializable>> ,您根本不会有任何问题,问题在于尝试反序列化JSON时。 我猜您可以根据实际需要为Class<?>编写自己的反序列Serializable器,但是反Serializable是不可能的。

Serializable不是具体的类,它是一个接口。 您无法实例化Serializable ,只能实例化实现Serializable的具体类。 当然,您可以通过在序列化的JSON中包含具体的类信息来编写自己的自定义序列化器/反Serializable化器,以实现Serializable ,但是随后您需要包括实现Serializable所有可能的类,这根本是不现实的。

参考: https : //sites.google.com/site/gson/gson-user-guide#TOC-Serializing-and-Deserializing-Collection-with-Objects-of-Arbitrary-Types

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM