gpt4 book ai didi

java - 使用 JsonReader.setLenient(true) 接受第 1 行第 1 列路径 $ 处格式错误的 JSON,并且预期为 BEGIN_OBJECT,但在第 1 行第 1 列路径 $ 处为 STRING

转载 作者:行者123 更新时间:2023-12-01 16:21:09 25 4
gpt4 key购买 nike

我正在使用此方法执行我的应用程序的每个 post 方法:

1-这是我执行 get 和 post 方法的界面:

@POST("feedback/challenge/newRating")
Call<IncreasedChallengeFeedback> challengeFeedbackIncreaseRating(@Body IncreasedChallengeFeedback increasedFeedbackChallenge);

2-调用方法

public void increaseRatingCFb(IncreasedChallengeFeedback increasedChallengeFeedback) {

Gson gson = new GsonBuilder()
.setLenient()
.create();

Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://10.0.2.2:3000/")
.addConverterFactory(GsonConverterFactory.create(gson))
.build();

api = retrofit.create(INodeJS.class);

Call<IncreasedChallengeFeedback> call = api.challengeFeedbackIncreaseRating(increasedChallengeFeedback);
call.enqueue(new Callback<IncreasedChallengeFeedback>() {
@Override
public void onResponse(Call<IncreasedChallengeFeedback> call, Response<IncreasedChallengeFeedback> response) {
if (!response.isSuccessful()) {
System.out.println("!= Successful" + response.code());
return;
}
}

@Override
public void onFailure(Call<IncreasedChallengeFeedback> call, Throwable t) {
System.out.println("OnFailure: " + t.getMessage());
}
});
}

3-这里我只是创建一个类的对象以与该方法一起使用

holder.likeButton.setOnLikeListener(new OnLikeListener() {
@Override
public void liked(LikeButton likeButton) {

IncreasedChallengeFeedback icfb = new IncreasedChallengeFeedback("8","2");
increaseRatingCFb(icfb);

}

4-最后是类(class)

public class IncreasedChallengeFeedback {


private String cFeedbackRating;
private String cFeedbackID;

public IncreasedChallengeFeedback(String cFeedbackRating, String cFeedbackID) {
this.cFeedbackRating = cFeedbackRating;
this.cFeedbackID = cFeedbackID;
}

}

这样我就得到了这个错误:

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

所以我添加了这个:

Gson gson = new GsonBuilder()
.setLenient()
.create();

然后错误变为:

Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $

问题是,我完成了所有其他帖子并使用该方法获取方法,然后突然我陷入了这个错误。

最佳答案

您的 JSON 对象很可能格式错误。打印您收到的 JSON 对象以查看它是否存在任何格式错误。这里也提出了同样的问题,因此请检查更多信息:https://stackoverflow.com/a/28418787/13709773

关于java - 使用 JsonReader.setLenient(true) 接受第 1 行第 1 列路径 $ 处格式错误的 JSON,并且预期为 BEGIN_OBJECT,但在第 1 行第 1 列路径 $ 处为 STRING,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62272976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com