android - 在使用 Retrofit 和 GSON 进行解析时得到“预期 BEGIN_ARRAY 但在第 1 行第 1 列路径 $ 为字符串”
问题描述
在寻找了将近一天的答案之后,我仍然看不出我如何使用 Retrofit 和 GSON 进行 API 调用有什么问题。
我的 JSON 是这样的:
{"nombre_completo":"placeholder name","edad":"78","email":"2","genero":"1","nombre_pais":"Chile","img_perfil":"http:\/\/www.someurl.com\/imagenes\/1\/perfil\/perfilRecortada.jpg","grados":["FIGHT: 10\u00b0Dan","ANOTHER:Negro 3rd"]}
使用 JSONSCHEMA2POGO 或 SGSON 插件 POJO 类
private String nombre_completo;
private String edad;
private String email;
private String genero;
private String nombre_pais;
private String img_perfil;
private List<String> grados = null;
我的 GSON 和 Retrofit 实现为
private static Gson gson = new GsonBuilder()
.setLenient()
.create();
sRetrofit = new Retrofit.Builder()
.baseUrl(URL_API)
.addConverterFactory(GsonConverterFactory.create(gson))
.build();
并且使用来自 Retrofit 的异步调用,我仍然得到错误。
如果您能帮我解决这个问题,我将不胜感激。
解决方案
看起来这与您正在测试的数据的格式有关。似乎 gson 需要一个对象数组,但您只是给它一个对象。尝试将您的测试数据用方括号括起来。有关此错误的更多信息位于:https ://github.com/google/gson/issues/966
推荐阅读
- node.js - 在 mono-repo 节点 js 项目上应用 semver
- ruby-on-rails - 验证数组 Active Record 中的包含时出错
- r-markdown - 如何为使用 rmarkdown 创建的 PowerPoint 文件中的图像添加替代文本(用于辅助功能)?
- c++ - O(1) 追加和 O(1) 随机访问数据结构
- javascript - 反应:输入不反映变化
- nginx - 如何为标准和 www 设置 SSL。在 nginx 中使用 Let's Encrypt 的域?
- teradata - 如何从一个非常大的表中获取所有数据?
- python - 为什么用 Dask 运行 Sklearn 机器学习不会产生并行性?
- ios - 获取集合中的所有文档 - Firebase Firestore iOS
- woocommerce - 我想通过自定义方法添加组产品,但我最终从 woocommerce 中的 3 个分组项目中添加了最后一个产品