MalformedJsonException

MalformedJsonException

我正在尝试进行改造,并且正在获取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/

10-10 18:14