当前位置: 首页 > 知识库问答 >
问题:

改型设定宽松误差:1.8.0

屠锐
2023-03-14

我得到的错误就像

改造。错误:com.google.格森。JsonSyntaxException:com.google.格森。流动格式错误的JSONException:使用JsonReader。setLenient(true)在第1行第7列路径接受格式错误的JSON$

我尝试了一个关于改型API的异常的答案?1.我正在使用改装版1.8,我该怎么办?

我的Java代码:

反转录助手

public static RestAdapter getAdapter(Context ctx, String serverUrl) {
        mContext=ctx;
        RestAdapter restAdapter = new RestAdapter.Builder()
                .setEndpoint(StringConstants.BASE_CLASSES_URL+serverUrl)
                .setLogLevel(RestAdapter.LogLevel.FULL).setLog(new RestAdapter.Log() {
                    @Override
                    public void log(String msg) {
                        Log.i("Retro Helper", msg);
                    }
                })
                .build();

JSON响应

{
    "status": "Success",
    "data": null,
    "message": "Successfully get the slot lists",
    "statusCode": 200
}

其他代码

public ServiceOperations getBaseClassService(Context ctx, String url) {
            return new RetroHelper().getAdapter(ctx, url).create(ServiceOperations.class);
        }



     @GET("/schduleLists")
        void getDoctorSchedule(@Query("doctorid") int id, Callback<JsonObject> callback);

 mUtil.getBaseClassService(getActivity(), "").getDoctorSchedule(mUserId,new Callback<JsonObject>() {
                @Override
                public void success(JsonObject jsonObject, Response response) {
                    if (jsonObject.get(StringConstants.STATUS).getAsString().equalsIgnoreCase("Success")) {// this if condition is casued error!
                        mUtil.dismissDialog();
                        JsonArray jsonArray =jsonObject.get("data").getAsJsonArray();

共有1个答案

权韬
2023-03-14

我怀疑result1的结尾有一些字符,在紧跟结尾}字符的调试器中看不到这些字符。结果1和结果2的长度是多少?我会注意到,正如你所引用的result2有169个字符。

当对象结尾后有非空白的额外字符时,GSON会抛出该特定错误,并且它非常狭窄地定义了空白(就像JSON规范所做的那样)——仅\t、\n、\r,空格计数为空白。特别要注意的是,尾随的NUL(\0)字符不算作空白,这将导致此错误。

如果您无法轻松找出导致结尾出现额外字符的原因并消除它们,另一个选项是告诉GSON以宽松模式解析:

Gson gson = new Gson();
JsonReader reader = new JsonReader(new StringReader(result1));
reader.setLenient(true);
Userinfo userinfo1 = gson.fromJson(reader, Userinfo.class);
 类似资料:
  • 除了这一部分,我大部分都懂了: 我不知道这行是干什么的:

  • 如何查看改装错误正文消息?我所看到的是字节数组,我读它有困难。

  • 我正在尝试理解Spring boot中的松散绑定我已经查看了https://docs . Spring . io/Spring-boot/docs/current/reference/html/boot-features-external-config . html # boot-features-external-config-relaxed-binding但是我认为我缺少了一些东西如果我有一个

  • 问题内容: 我有一个用于收件箱的简单表,如下所示: 如何设置宽度,以便“起始日期”和“日期”分别为页面宽度的15%和“主题”为70%。我还希望表格占据整个页面的宽度。 问题答案:

  • 问题内容: 简单方案: 我需要为设置一个固定宽度。我试过了: 也 对于 乃至 但是的宽度仍然相同。 问题答案: 对于Bootstrap 4.0: 在Bootstrap4.0.0中,您不能可靠地使用这些类(在Firefox中有效,但在Chrome中不适用)。您需要使用OhadR的答案: 对于Bootstrap 3.0: 在twitter bootstrap 3中使用:其中*是宽度的列数。 对于Boo

  • 如果null对象的string属性与预先确定的值不匹配,我有一个测试来验证该对象的返回。我的代码是