Retrofit 2 API Can I use local file path or json string instead of url?(是否可以使用本地文件路径或json字符串代替url?)
问题描述
您好,我正在开发一个使用retrofitAPI从服务器获取响应的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?
基础教程推荐
- RabbitMQ:消息保持“未确认"; 2022-01-01
- 使用堆栈算法进行括号/括号匹配 2022-01-01
- REST Web 服务返回 415 - 不支持的媒体类型 2022-01-01
- 如何对 Java Hashmap 中的值求和 2022-01-01
- Spring AOP错误无法懒惰地为此建议构建thisJoinPoin 2022-09-13
- 存储 20 位数字的数据类型 2022-01-01
- 无法复制:“比较方法违反了它的一般约定!" 2022-01-01
- Struts2 URL 无法访问 2022-01-01
- 修改 void 函数的输入参数,然后读取 2022-01-01
- 问题http://apache.org/xml/features/xinclude测试日志4j 2 2022-01-01
