gpt4 book ai didi

java - Gson 错误需要 begin_object 但在第 1 行第 1 列路径 $ 处是字符串

转载 作者:太空宇宙 更新时间:2023-11-04 13:41:19 25 4
gpt4 key购买 nike

我希望你能帮助我解决我无法解决的 Gson 问题。这显然很常见,因为我发现了很多关于这个主题的主题,但没有设法使用答案。

我有这个错误:

com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBjECT but was STRING at line 1 column 1 path $

这是我的 Json:

{"valeurs":[{"Ident":"1","Lien":"r8WzdMerigo","Categorie":"1"},{"Ident":"2","Lien":"neqgJGz08Fw","Categorie":"2"}],"success":1} 

然后是我的 POJO:

public class gitmodel {


@SerializedName("Ident")
@Expose
private int Ident;

@SerializedName("Lien")
@Expose
private String Lien;

@SerializedName("Categorie")
@Expose
private int Categorie;




public int getIdent() {return Ident;}


public String getLien() {
return Lien;
}



public int getCategorie() {
return Categorie;
}

}

最后在主要 Activity 中:

RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint(API)
.build();

gitapi git = restAdapter.create(gitapi.class);


git.getFeed("affichage_bd.php", new Callback<gitmodel>() {
@Override
public void success(gitmodel gitmodel, Response response) {
tv.setText("Numero categorie :" + gitmodel.getCategorie() + "\nLien :" + gitmodel.getLien() + "\nIdentification :" + gitmodel.getIdent());
}

@Override
public void failure(RetrofitError error) {
tv.setText(error.getMessage());
}
});
}
});

你能告诉我发生了什么事吗?

最佳答案

您缺少一个级别。您在 Callback<> 中设置的 POJO 应该是:

public class MyModel
{
List<gitmodel> valeurs;

public List<gitmodel> getValeurs()
{
return valeurs;
}
}

编辑:
您应该将 MyModel 类保存在项目中的某个位置,然后将界面更改为:

public interface gitapi {

@GET("/users/{user}")
public void getFeed(@Path("user") String user, Callback<MyModel> myModel);
}

那么在你的MainActivity中:

git.getFeed("affichage_bd.php", new Callback<MyModel>() {
@Override
public void success(MyModel myModel, Response response) {
List<gitmodel> valeurs = myModel.getValeurs();
// here you can iterate through the elements on the list
}

@Override
public void failure(RetrofitError error) {
tv.setText(error.getMessage());
}
});

关于java - Gson 错误需要 begin_object 但在第 1 行第 1 列路径 $ 处是字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31233097/

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