2017-08-25 84 views
-2

我有要求,我需要將Java對象轉換爲JSON。Gson序列化到特定的字段,即使它是空的

我使用GSON對於這一點,但我需要序列化所需的字段,甚至沒有價值,即空

例如:

public class Response<T> 
{ 
    private String status; 
    private String message; 
    private T data; 
    transient private String resource; 
} 

即使數據爲空或空,我想它被序列化爲具有空值的json數據。

對象:

新的響應( 「成功」,NULL,NULL) ,新的響應(NULL,NULL,NULL)

通緝輸出: - { status : "success", data : {}} {data : {}}

+1

見我回答這個問題在另一篇文章:https://stackoverflow.com/questions/44070666/gson-ignores-my-fields-while-轉換/ 44072069#44072069 – hsl

+0

@hsl我想序列化一些字段而不是所有字段 – Sankar

+0

不完全確定你的意思。你能否用一些預期的輸入和輸出來更新問題,以便我能更好地理解? – hsl

回答

0

嘗試serializeNulls()

配置Gson序列化空字段。默認情況下,Gson會在序列化過程中省略所有空字符串,即 。

GsonBuilder gsonBuilder = new GsonBuilder(); 
gsonBuilder.serializeNulls(); 
Gson gson = gsonBuilder.create(); 

User user = new User("Sankar", null, 25); 
String userJson = gson.toJson(user); 

輸出是:

{ 
    "age": 25, 
    "email": null, 
    "name": "Sankar" 
} 
+0

我只想序列化特定字段,而不是所有字段。 – Sankar

相關問題