Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.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/9/security/4.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 替代GSON字段_Java_Android_Json_Field_Gson - Fatal编程技术网

Java 替代GSON字段

Java 替代GSON字段,java,android,json,field,gson,Java,Android,Json,Field,Gson,所以基本上,我在Android上使用GSON解析一些JSON,当使用JavaBeans获取对象列表时,我遇到了一个问题——其中一个对象类型有两个变体 这两个JSON对象完全相同,除了可以是字符串字段“a”或对象字段“b” 是否可以让GSON接受带有这两个选项之一的JSON对象,并在Java对象中将JSON中未包含的字段保留为null 谢谢我建议使用Jackson或Moshi来处理JSON,避免在下一个项目中使用Gson,因为它在反序列化方面要慢得多,而在序列化对象方面要比Moshi快得多,由于G

所以基本上,我在Android上使用GSON解析一些JSON,当使用JavaBeans获取对象列表时,我遇到了一个问题——其中一个对象类型有两个变体

这两个JSON对象完全相同,除了可以是字符串字段“a”或对象字段“b”

是否可以让GSON接受带有这两个选项之一的JSON对象,并在Java对象中将JSON中未包含的字段保留为null


谢谢

我建议使用Jackson或Moshi来处理JSON,避免在下一个项目中使用Gson,因为它在反序列化方面要慢得多,而在序列化对象方面要比Moshi快得多,由于Gson在其中插入了与HTML兼容的转义字符,生成的JSON可能会更大。

我知道这不是答案,也不是你想听到的,但不要这样做。用JSON修复模型,使其合理。你以后会感谢你自己的。如果使用两种不同类型的对象,请参见创建自定义序列化器/反序列化器。遗憾的是,我不控制JSON,我只是在第三方服务器上轮询数据,否则,是的,我很乐意更改JSON格式我认为GSON无法立即处理这两种类型的事情,但是我也承认我从来没有真正尝试过这样做如果你只是创建类型对象会发生什么?颤抖在我看来,您可能需要一个自定义反序列化程序:。仅使用对象的问题是,这两个变量具有不同的字段名…:/谢谢,我来看看