Retrofit 2 API Can I use local file path or json string instead of url?(是否可以使用本地文件路径或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);
这篇关于是否可以使用本地文件路径或json字符串代替url?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:是否可以使用本地文件路径或json字符串代替url?
基础教程推荐
- Java 中保存最后 N 个元素的大小受限队列 2022-01-01
- 如何强制对超级方法进行多态调用? 2022-01-01
- Spring Boot Freemarker从2.2.0升级失败 2022-01-01
- 首次使用 Hadoop,MapReduce Job 不运行 Reduce Phase 2022-01-01
- 如何对 HashSet 进行排序? 2022-01-01
- 在螺旋中写一个字符串 2022-01-01
- 如何在不安装整个 WTP 包的情况下将 Tomcat 8 添加到 Eclipse Kepler 2022-01-01
- 由于对所需库 rt.jar 的限制,对类的访问限制? 2022-01-01
- 如何使用 Eclipse 检查调试符号状态? 2022-01-01
- 如何使用 Stream 在集合中拆分奇数和偶数以及两者的总和 2022-01-01