【问题标题】:Deserialize only some fields of JSON objects array (Java)仅反序列化 JSON 对象数组的某些字段(Java)
【发布时间】:2014-11-28 15:40:49
【问题描述】:

鉴于我从网站获得的 JSON 响应:

{
  "Items":
   [
    { "Name":"Apple", "Price":12.3, "Quantity":30 },
    { "Name":"Grape", "Price":3.21, "Quantity":60 }
   ],
   "Date":"21/11/2010"
}

我如何反序列化这个 JSON,将它拆分为一个名为 Fruits 的数组,只包含名称和数量?我不关心日期字段或价格等其他字段。

我的班级应该是这样的:

class Fruit{
   String name;
   String quantity;
}

这是数组:

Fruit myfruits[] = new Fruit [this number depends on  JSON response I get]

我怎么能做到这一点? 我已尽力给出最好的解释,如果仍不清楚,请随时提问。

P.S:顺便说一句,真正的 JSON 响应有更多字段

【问题讨论】:

标签: java json gson deserialization


【解决方案1】:

你需要忽略你不会的字段。

每个序列化框架都以不同的方式进行。

在某些情况下你可以给你添加注解POJO,或者用序列化器实例设置它

使用Gson

Gson ignore json field and deserialize

使用Jackson

Ignoring new fields on JSON objects using Jackson

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    • 1970-01-01
    • 2017-09-21
    • 1970-01-01
    • 1970-01-01
    • 2013-06-23
    相关资源
    最近更新 更多