是否可以使用本地文件路径或json字符串代替url?

Retrofit 2 API Can I use local file path or json string instead of url?(是否可以使用本地文件路径或json字符串代替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?

基础教程推荐