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 反序列化非';不一定是同一类型的_Java_Json_Gson - Fatal编程技术网

Java 反序列化非';不一定是同一类型的

Java 反序列化非';不一定是同一类型的,java,json,gson,Java,Json,Gson,我正在用Gson.fromJson()将一个json对象反序列化到一个类。除了一个给我带来麻烦的领域外,一切都很好。此字段在json中同时显示为布尔值和带有子字段的字段。我不知道在容器类中该做什么,因为当字段显示为布尔值时,创建内部类会产生错误,反之亦然。以下是该字段的示例: 以下任一项:“许可证”:false 或:“许可证”:{“模型”:[“LicenseName1”]}} 对我来说,最简单的事情是当字段显示为“false”时,它将为null 用于存储json数据的类的示例代码: public

我正在用Gson.fromJson()将一个json对象反序列化到一个类。除了一个给我带来麻烦的领域外,一切都很好。此字段在json中同时显示为布尔值和带有子字段的字段。我不知道在容器类中该做什么,因为当字段显示为布尔值时,创建内部类会产生错误,反之亦然。以下是该字段的示例:

以下任一项:
“许可证”:false

或:
“许可证”:{“模型”:[“LicenseName1”]}}

对我来说,最简单的事情是当字段显示为“false”时,它将为null

用于存储json数据的类的示例代码:

public class Test

{

    private License licenses //Or boolean licenses? Depends what's in the json...
    //More parameters...

    //Inner class
    public class License
    {
        String[] models;
    }
}

你能添加一些代码吗?如果从那里开始,像ModelClassi一样,我觉得你在倒退。您应该考虑如何以合理的方式构造类,然后在定义好类结构后再考虑序列化/反序列化。谢谢大家的回复。我在原始帖子中添加了示例代码