【发布时间】:2020-02-08 17:18:37
【问题描述】:
我正在尝试将数据发布到 API,但出现此错误:
使用 JsonReader.setLenient(true) 在第 1 行第 1 列路径 $ 处接受格式错误的 JSON
有人知道如何解决这个问题吗?
在活动中发布数据的代码
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”}
【问题讨论】:
标签: java android json android-studio