看看这个:http://jackson.codehaus.org/1.6.5/javadoc/org/codehaus/jackson/map/SerializationConfig.Feature.html
似乎jackson json有一种配置,其中只有映射才会序列化它们的空值,但是Gson似乎只有所有空值的序列化,或者根本没有。
发布于 2013-08-06 19:05:10
这是一个朋友帮我想出的答案(差不多是波波姆的答案):
public static Gson createGson() {
return new GsonBuilder().registerTypeAdapter(Map.class, new NullSerializingMapSerializer()).create();
}
public class NullSerializingMapSerializer implements JsonSerializer<Map> {
private static final Gson gson = (new GsonBuilder()).serializeNulls().create();
public JsonElement serialize(Map map, Type typeOfSrc, JsonSerializationContext context) {
if(map == null) {
return JsonNull.INSTANCE;
}
return new JsonPrimitive(gson.toJson(map));
}
}发布于 2013-08-06 15:09:29
Gson gsonResponse = new GsonBuilder()
.serializeNulls()
.setPrettyPrinting()
.create();我想你可能在找serializeNulls()
您还可以创建一个customTypeAdapterFactory来处理类特定的呈现。
https://stackoverflow.com/questions/18063405
复制相似问题