java - gson 不会反序列化数组

标签 java serialization gson

有以下 json 字符串:

[{"Custom":{"id":4,"name":"Lebensmittel","currency":"EUR","count":2}}]

这是一个缩短的版本,通常我有一个很长的 json 字符串,其中包含很多“自定义”对象。 我从不受我影响的远程计算机接收 json 字符串。 我正在尝试使用以下代码来反序列化 json 字符串:

Gson gson = new Gson();
Custom[] data = gson.fromJson(json, custom[].class);

结果是Array数据的大小是正确的,但是内容为空,没有值被反序列化。

这是自定义的 POJO 类

public class Custom implements Serializable {

private static final long serialVersionUID = 1826747252056159012L;

private int id;

private String name;

private String currency;

private int count;

public Custom() {
}

public int getId() {
    return id;
}

public void setId(final int id) {
    this.id = id;
}

public String getName() {
    return name;
}

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

public String getCurrency() {
    return currency;
}

public void setCurrency(final String currency) {
    this.currency = currency;
}

public int getCount() {
    return count;
}

public void setCount(final int count) {
    this.count = count;
}

}

那么,谁能告诉我什么是wrog?

提前致谢

最佳答案

您的 json 存在错误:

[{"Custom":{"id":4,"name":"Lebensmittel","currency":"EUR","count":2}}]

必须是

[{"id":4,"name":"Lebensmittel","currency":"EUR","count":2}]

关于java - gson 不会反序列化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37188243/

相关文章:

java - 如何将 JTable 放入 JScrollPane 中?

java - Jackson:从一个 JsonView 类中排除字段

c# - JSON.NET 中对象集合的错误处理行为与简单类型不同

java - 如何解决这个需求,Android条件序列化名称

java - 有没有关于 Gson "circular reference"的解决方案?

java - ManyToOne OneToMany 双向 : Retrieve data from reference table

javascript - 类型错误 : Object of type 'Category' (model) is not JSON serializable

java - 我试图在 Java 上使用 gson 将大量自定义对象写入 json 文件,但它在文件完成之前就被切断了?

java - 使用 GSON 解析 JAVA 中的 JSON

java - 避免对每个实例使用新的 Random schenanigans