我一直在使用Google的Gson API很長一段時間,並且喜歡它的簡單性。將空對象Gson轉換爲Json
儘管如此,我發現(可能)在toJson
方法的一個錯誤。
當我嘗試將null
對象轉換爲JSON
,而不是例外情況,或者一個字符串null
回報,我得到一個String
與價值null
。
你認爲這是一個錯誤?
我一直在使用Google的Gson API很長一段時間,並且喜歡它的簡單性。將空對象Gson轉換爲Json
儘管如此,我發現(可能)在toJson
方法的一個錯誤。
當我嘗試將null
對象轉換爲JSON
,而不是例外情況,或者一個字符串null
回報,我得到一個String
與價值null
。
你認爲這是一個錯誤?
null
不產生NullPointerException
轉換時,因爲它是文字,它是有效的GSON價值。
我明白這一點。但是,如果我安裝Gson類,如: Gson gson = new Gson() ...並且我正在序列化的對象具有空TYPE的全局變量,則這些變量不會被序列化。如果我實例化Gson類,如: Gson gson = new GsonBuilder()。serializeNulls()。create() ...具有空TYPE的全局變量,這些變量被序列化。 因此,儘管「空」是一個有效的JSON字符串,因爲我實例化Gson像新的Gson()在我看來,我應該至少得到一個空字符串 – RedEagle
它不會給予空字符串,因爲它認爲'空'作爲文字。 –
它是一個字面的事實意味着什麼。 _literal_是一種語言概念。 –
沒有_null object_這樣的東西。 'null'是[null type]的文字值(http://docs.oracle.com/javase/specs/jls/se8/html/jls-3.html#jls-3.10.7)。它只是一個參考值,而不是一個對象。 –
非常感謝您糾正我的英語 – RedEagle
如果它是有效的JSON,它怎麼會是一個「bug」呢?請參閱json.org並查看JSON語法。 –