簡體   English   中英

使用gson解析,null object的List類型如何解析為[]

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM