GLe*_*Lee 11 android json gson
我正在使用Gson和Retrofit,我有一个案例,我需要序列化一个空字段,但我不能打开Gson的全局serializeNulls()标志,因为它将打破我的其余代码.有谁知道如何做到这一点?
这是我尝试过的:
我也无法找到添加到序列化json的方法,因为它全部发生在Retrofit中.
小智 1
我通过设置 setSerializeNulls(true) 并在 TypeAdapter.write() 中将原始值恢复为 JsonWriter 解决了这个问题:
public class NullableDoubleAdapter extends TypeAdapter<NullableDouble> {
@Override
public void write(final JsonWriter out, final NullableDouble value) throws IOException {
if (value == null) {
boolean serializeNulls = out.getSerializeNulls();
out.setSerializeNulls(true);
out.nullValue();
out.setSerializeNulls(serializeNulls);
} else {
out.value(value.getValue());
}
}
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
741 次 |
| 最近记录: |