Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.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转换为Json_Java_Json_Gson - Fatal编程技术网

Java 将空对象Gson转换为Json

Java 将空对象Gson转换为Json,java,json,gson,Java,Json,Gson,我已经使用谷歌的Gson API有一段时间了,我喜欢它的简单性 尽管如此,我(可能)在toJson方法上发现了一个bug 当我尝试将null对象转换为JSON,而不是异常或null字符串返回时,我会得到一个值为null的String 你认为这是一个bug吗?< /P> < P>不,是一个< P> NUL> 在转换时不产生 Null PoExtExtExt/Cuth>,因为它是文字的,它是有效的GSON值。没有空对象这样的东西。code>null是的文本值。它只是一个参考值,不是一个对象。非常感

我已经使用谷歌的Gson API有一段时间了,我喜欢它的简单性

尽管如此,我(可能)在
toJson
方法上发现了一个bug

当我尝试将
null
对象转换为
JSON
,而不是异常或
null
字符串返回时,我会得到一个值为
null
String


你认为这是一个bug吗?< /P> < P>不,是一个

< P> <代码> NUL> <代码>在转换时不产生<代码> Null PoExtExtExt/Cuth>,因为它是文字的,它是有效的GSON值。

没有空对象这样的东西。code>null是的文本值。它只是一个参考值,不是一个对象。非常感谢您纠正我的英语错误。如果它是有效的JSON,它怎么可能是一个“错误”。查看json.org&查看json语法。这取决于您对这些字段的注释方式。您要么得到一个null,要么得到一个“安全”的非null对象,该对象指示序列化/反序列化对象为null。看,这取决于你想要哪一个,并编写相应的代码来处理它。我理解这一点。但是,如果我像:Gson Gson=new Gson()…这样安装Gson类,并且我正在序列化的对象具有null类型的全局变量,那么这些变量不会被序列化。但如果我实例化Gson类,比如:Gson Gson=new GsonBuilder().serializeNulls().create()。。。如果全局变量的类型为null,则这些变量将被序列化。因此,尽管“null”是一个有效的JSON字符串,但由于我像new Gson()一样实例化了Gson,所以我认为我至少应该得到一个空字符串,它不会得到空字符串,因为它认为
null
是文本。它是文本这一事实并不意味着什么。字面是一个语言概念。