Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在存在多种类型的情况下反序列化JSON_Java_Json_Gson - Fatal编程技术网

Java 在存在多种类型的情况下反序列化JSON

Java 在存在多种类型的情况下反序列化JSON,java,json,gson,Java,Json,Gson,我的程序接收以下json字符串作为输入: { ..., "source": [ {"Web": {"id": 10, fields_a} }], ... } { ..., "source": [ {"Device": {"id": 22, fields_b} }], ... } i、 例如,在字段源中,我可以有各种类型的源。这些源共享一些属性,例如id,但在其他字段_a、字段_b中有所不同 我使用gson进行序列化/反序列化,我希望事情尽可能简单。我通过创建一个具有所有共享属性的基类源和几个具

我的程序接收以下json字符串作为输入:

{ ..., "source": [ {"Web": {"id": 10, fields_a} }], ... }
{ ..., "source": [ {"Device": {"id": 22, fields_b} }], ... }
i、 例如,在字段源中,我可以有各种类型的源。这些源共享一些属性,例如id,但在其他字段_a、字段_b中有所不同


我使用gson进行序列化/反序列化,我希望事情尽可能简单。我通过创建一个具有所有共享属性的基类源和几个具有特定属性的子类,为每种类型的源创建了类的层次结构,但是反序列化无法管理各种类型


有什么建议吗?

但是反序列化无法管理各种类型-您能详细说明这意味着什么吗?你能粘贴你的反序列化代码吗?是的,对不起。我有一个Java类对应于我收到的任何json“对象”。然而,“源”中的元素可以是不同的类型,我真的不知道在这种情况下如何反序列化。如果你想让事情尽可能简单,只需反序列化到列表和映射中。