本文主要是介绍GSON解析辅助,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
默认的Gson解析有时不能满足业务的需求,可能需要设置对Gson进行一些配置
.addConverterFactory(GsonConverterFactory.create(new Gson()))
可以在配置Gson转换时传入我们另行配置的Gson
比如我们想要对所有的解析异常都不报错,而是设置为null。
public final class SafeTypeAdapterFactory implements TypeAdapterFactory{ @Override public TypeAdapter create(Gson gson, final TypeToken type) { final TypeAdapter delegate = gson.getDelegateAdapter(this,type); return new TypeAdapter() { @Override public void write(JsonWriter out, T value) throws IOException { try { delegate.write(out, value); } catch (IOException e) { delegate.write(out, null); } } @Override public T read(JsonReader in) throws IOException { try { return delegate.read(in); } catch (IOException e) { in.skipValue(); return null; } catch (IllegalStateException e) { in.skipValue(); return null; } catch (JsonSyntaxException e) { in.skipValue(); if(type.getType() instanceof Class){ try { return (T) ((Class)type.getType()).newInstance(); } catch (Exception e1) { } } return null; } } }; } }
Gson myGson = new GsonBuilder().registerTypeAdapterFactory(new SafeTypeAdapterFactory()).create();
作者:汪汪一只猫
链接:http://www.imooc.com/article/78804
来源:慕课网
这篇关于GSON解析辅助的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!