解决Gson转json对象,null值的处理
·
1.null值丢失问题:
将
Gson gs=new Gson()
改成
Gson gs=new GsonBuilder().serializeNulls().create();
2.null值处理
GsonBuilder gsonBuilder=new GsonBuilder();
//遇到时间如何处理
gsonBuilder.setDateFormat("yyyy-MM-dd HH:mm:ss");
//遇到字符串如何处理
gsonBuilder.registerTypeAdapter(String.class,new StringNullAdapter());
Gson gs=gsonBuilder.create();
import com.google.gson.TypeAdapter;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonToken;
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
public class StringNullAdapter extends TypeAdapter<String> {
@Override
public void write(JsonWriter jsonWriter, String s) throws IOException {
//将对象转成json对象时,若有字段为null ,则转为""
if (s==null){
jsonWriter.value("");
return;
}
jsonWriter.value(s);
}
@Override
public String read(JsonReader jsonReader) throws IOException {
//将json对象转成对象时,若有字段为null ,则转为""
if (jsonReader.peek()== JsonToken.NULL){
jsonReader.nextNull();
return "";
}
return jsonReader.nextString();
}
}
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)