gpt4 book ai didi

java - com.google.gson.JsonSyntaxException : java. lang.IllegalStateException:应为 BEGIN_ARRAY 但为 STRING

转载 作者:太空宇宙 更新时间:2023-11-03 12:55:40 24 4
gpt4 key购买 nike

这是我使用 Gson 进行序列化的第一种方法。我像这样收到 facebook 对我的 android 应用程序的响应

我的杰森:

 {"data": [
{
"pic_square": "https://fbcdn-profile-a.akamaihd.netxxxx1388091435_797626998_q.jpg",
"uid": "10202xxx852765",
"name": "Mister X"
},
{
"pic_square": "https://fbcdn-profile-a.akamaihd.netxxxx1388091435_797626998_q.jpg",
"uid": "10202xxx852765",
"name": "Mister X"
}
]
}



try {
final GsonBuilder builder = new GsonBuilder();
final Gson gson = builder.create();
JSONObject data= response.getGraphObject().getInnerJSONObject();
FacebookResponses facebookResponses= gson.fromJson(data.toString(),FacebookResponses.class); //exception here
Log.i(TAG, "Result: " + facebookResponses.toString());
} catch (JsonSyntaxException e) {
e.printStackTrace();

}我的类(class)

public class FacebookResponses implements Serializable {
private static final long serialVersionUID = 1L;
@SerializedName("data");
private FacebookRisp[] data;
}

class FacebookRisp implements Serializable {

private static final long serialVersionUID = 1L;

@SerializedName("pic_square")
private String[] pic_square;

@SerializedName("uid")
private String[] uid;

@SerializedName("name")
private String[] name;

public String[] getPic_square() {
return pic_square;
}

public void setPic_square(String[] pic_square) {
this.pic_square = pic_square;
}

public String[] getUid() {
return uid;
}

public void setUid(String[] uid) {
this.uid = uid;
}

public String[] getName() {
return name;
}

public void setName(String[] name) {
this.name = name;
}

}

我明白了com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: 应为 BEGIN_ARRAY 但在第 1 行第 118 列为 STRING

更新:我修改了aegean的答案,问题是[]

@SerializedName("pic_square")
private String**[]** pic_square; //ex here and others

最佳答案

将您的 FacebookResponses 类更改为:

private class FacebookResponses {
private Data[] data;
}

private class Data {
@SerializedName("pic_square")
private String picSquare;
private String uid;
private String name;
}

编辑:因为您的 json 响应的结构如下所示:

enter image description here

关于java - com.google.gson.JsonSyntaxException : java. lang.IllegalStateException:应为 BEGIN_ARRAY 但为 STRING,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20801029/

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