java - 如何修复Android Studio中的 'Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 1 path $'错误

标签 java android json android-studio

我尝试将数据发布到 API,但收到此错误:

Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 1 path $

有人知道如何解决这个问题吗?

在 Activity 中发布数据的代码

private void callList(){
    String signature = new String(Hex.encodeHex(DigestUtils.md5(
            TMK + appId + appVersion +
                    SessionManager.getSession(getApplicationContext(), getString(R.string.session_token)))
    ));

    Call<PostGetList> postGetListCall = mApiInterface.postGetList(
            appId,
            appVersion,
            SessionManager.getSession(getApplicationContext(), getString(R.string.session_token)),
            signature);

    postGetListCall.enqueue(new Callback<PostGetList>() {
        @Override
        public void onResponse(Call<PostGetList> call, Response<PostGetList> response) {
            status = response.body().getStatus();
            Utils.logcat("Recv getInfo Status " + status);
            if (status.equals(getString(R.string.rc00))) {
                Message.message(getApplicationContext(), "Success");
            } else {
                Message.message(getApplicationContext(), status);
            }
        }

        @Override
        public void onFailure(Call<PostGetList> call, Throwable t) {
            String responseMsg = "Fail to connect";
            Utils.logcat(responseMsg);
            Toast.makeText(getApplicationContext(), responseMsg, Toast.LENGTH_LONG).show();
            Utils.logcat(t.toString());
        }
    });
}

ApiInterface.java

@FormUrlEncoded
@POST("List.php")
Call<PostGetList> postGetList(@Field("appId") String appId,
                              @Field("appVersion") String appVersion,
                              @Field("token") String token,
                              @Field("signature") String signature);

PostGetList.java

public class PostGetList {
    @SerializedName("status")
    String status;
    @SerializedName("data")
    String data;

    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }

    public String getData() {
        return data;
    }
    public void setData(String data) {
        this.data = data;
    }
}

API 应返回

{ “status”:”00”,
  ”data”:”List Data”}

最佳答案

您确定您的 json 响应没有格式错误吗? 请在 https://jsonlint.com/ 等网站验证您的回复查看您的响应是否正确 json。

关于java - 如何修复Android Studio中的 'Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 1 path $'错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58336845/

相关文章:

Android 市场崩溃报告未报告 bugsense

android - 使用 GLSurfaceView 渲染视频

java - 性能 : Iterating through a List in Java

Android M 权限模型

java - 在 webapp 中使用 JExcel Api 时,Tomcat 7 在启动时崩溃

java - 有人可以帮我从这篇文章中提取子字符串吗?

javascript - Parse.User.signUp() 中的第一个参数是什么?

json - 使用 Swift 在 Realm 中嵌套数组

java - JS如何同时插入和更新多行?

java - 无法使用 Java 打印机服务 (JPS) 打印文档