Java 如何使用GSON反序列化数组数组

Java 如何使用GSON反序列化数组数组,java,json,gson,Java,Json,Gson,我有这样的JSON: [[1,"A"],[2,"B"]] 我正在尝试用以下方法反序列化它: public class A { @SerializedName("id") private int id; @SerializedName("name") private String name; } String jstring = "[[1,\"a\"

我有这样的JSON:

[[1,"A"],[2,"B"]]
我正在尝试用以下方法反序列化它:

public class A {
    @SerializedName("id")
    private int id;

    @SerializedName("name")
    private String name;
  }

String jstring = "[[1,\"a\"], [2, \"b\"]]";

Type collectionType = new TypeToken<Collection<A>>() {}.getType();
Gson gson = new Gson();
Collection<A> enums = gson.fromJson(jstring, collectionType);
}
据我所知,格森期望

{"id":1, "name":"b"} instead of [1,"b"]

那么我如何反序列化这个JSON呢?

因为它是一个混合类型数组,也就是一个混合类型列表,请使用:

…=新的TypeToken(){}.getType();
列表枚举=。。。
Gson不会将数组映射到POJO。为了满足您的需要,JSON应该是:

[{“id”:1,“name”:“a”},{“id”:2,“name”:“b”}]
按原样,将
列表
转换为
列表
取决于您

{"id":1, "name":"b"} instead of [1,"b"]