是否可以使用本地文件路径或json字符串代替url?
您好,我正在开发一个使用retrofit
API从服务器获取响应的Android
应用程序。Retrofit自动解析json响应并创建POJO
类的对象。我正在将json存储到sqlite中,如果没有连接到互联网,从sqlite调用json会遇到困难,必须手动解析json。
有没有办法使用改良库来解析json并从json字符串或文件路径生成pojo?我的代码是在这里从url:
获取的@FormUrlEncoded
@POST("getResponse")
Observable<UserResponse> getResponse(@Field("token") String token);
如果没有连接互联网,我想要这样的东西。
@FromStringEncoded
Observable<UserResponse> getResponseOffline(@Field("token") String token);
谢谢。
解决方案
只需使用Google's GSON
库,即可将json
转换为POJO
,反之亦然。从sqlite
获取json
并使用gson
对其进行分析。
Gson gson=new Gson();
UserResponse userResponse= gson.fromJson(jsonInStringFromDb,UserResponse.class);
您还可以使用Gson
从文件分析JSON
。
JSON to Java对象,从文件中读取。
Gson gson = new Gson();
Staff staff = gson.fromJson(new FileReader("D:\file.json"), Staff.class);
相关文章