gpt4 book ai didi

android - Json转换器 "Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $"

转载 作者:行者123 更新时间:2023-11-30 00:37:17 27 4
gpt4 key购买 nike

我在尝试使用 JsonConverter 填充我的 ListView 时遇到此异常

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

这是我的 JsonConverter 类:

public class JsonConverter<T> {
public JsonConverter() {
}

public ArrayList<T> toArrayList(String jsonString, Class<T> clazz) {
GsonBuilder builder = new GsonBuilder();
builder.setDateFormat("dd/MM/yy HH:mm:ss");
Gson gson = builder.create();
JsonConverter.ListParameterizedType type = new JsonConverter.ListParameterizedType(clazz);
ArrayList list = (ArrayList)gson.fromJson(jsonString, type);
return list;
}

public List<T> toList(String jsonString, Class<T> clazz) {
ArrayList list = this.toArrayList(jsonString, clazz);
return list;
}

private static class ListParameterizedType implements ParameterizedType {
private Type type;

private ListParameterizedType(Type type) {
this.type = type;
}

public Type[] getActualTypeArguments() {
return new Type[]{this.type};
}

public Type getRawType() {
return ArrayList.class;
}

public Type getOwnerType() {
return null;
}
}
}

这是我的模型类:

public class Product implements Serializable {

@SerializedName("pid")
public int pid;

@SerializedName("name")
public String name;

@SerializedName("qty")
public int qty;

@SerializedName("price")
public String description;

@SerializedName("image_url")
public String image_url;

@SerializedName("date")
public String date;
}

我这样调用它:

private ArrayList<Product> productList;

@Override
public void processFinish(String s) {
productList = new JsonConverter<Product>().toArrayList(s, Product.class);
.
.
.

不知道是不是我做错了什么

最佳答案

错误消息告诉您,在将 json 转换为 java 对象时,调用需要 json 中的数组,但却得到了一个字符串。

预期返回:

[
"product" : {
"key" : "value"
}
]

再次检查你的json,它可能是一个字符串而不是一个对象

关于android - Json转换器 "Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43219601/

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