我正在尝试进行改造,并且正在获取MalformedJsonException。
这是我的电话:
String idFoto = "1ead0a1f-bbc4-46bd-901c-7988c0e6c68b";
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Global.URL_BASE)
.addConverterFactory(GsonConverterFactory.create())
.build();
FotosAPI service = retrofit.create(FotosAPI.class);
Call<String> obtenerFotoCall = service.getFoto(Global.getToken(), idFoto);
这是我的界面:
public interface FotosAPI {
@GET(Global.URL_FOTO + "{id}")
Call<String> getFoto(@Header("Authorization") String token, @Path("id") String id);
}
调用队列进入onFailure方法,错误为“ com.google.gson.stream.MalformedJsonException:使用JsonReader.setLenient(true)在第1行第2列路径$处接受格式错误的JSON”。
我进行了如下更改以设置宽大:
Gson gson = new GsonBuilder().setLenient().create();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Global.URL_BASE)
.addConverterFactory(GsonConverterFactory.create(gson))
.build();
然后,我遇到了另一个错误:“ com.google.gson.stream.MalformedJsonException:第1行第1列路径$的期望值”
我认为错误可能出在idFoto字符串值的Gson转换中,但是我不知道出了什么问题。
有谁可以帮助我吗?
感谢大伙们!
最佳答案
请检查您从服务器获取的JSON,就我而言,我从服务器获取的JSON无效。
尝试通过Postman或其他工具检查JSON。
关于android - 改造和Gson上的MalformedJsonException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44941347/