[英]Parsing JsonObject to List<Map<String, Object>> using Gson?
[英]Using gson parsing, how will the List type of null object resolved to []
例如:
public class Model {
private String a;
private List<Integer> b;
private int c;
}
@RequestMapping("/test")
public Model test(){
return new Model;
}
In this way,The result is {a:null,b:null,c:0},but what I want is {a:"",b:[],c:0}.I know Fastjson can quickly solve this problem ,但我必須使用 Gson。
而現在,TypeAdapter 幫我解決了其中一個問題,比如:
gsonBuilder.registerTypeAdapter(String.class, new TypeAdapter<String>() {
@Override
public void write(JsonWriter out, String value) throws IOException {
if (value == null) {
out.value("");
return;
}
out.value(value);
}
@Override
public String read(JsonReader in) throws IOException {
if (in.peek() == JsonToken.NULL) {
in.nextNull();
return "";
}
return in.nextString();
}
});
但是,如何將 null object 的列表類型解析為 []? 感謝您的指導!
您可以簡單地在 model 中提供默認值
public class Model {
private String a = "";
private List<Integer> b = new ArrayList<>();
private int c;
}
或者,您也可以將默認值放在 getter 中,而不是在變量聲明中進行初始化。 例如。
public String getA() {
return null == this.a ? "" : this.a;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.