当没有@SerializedName时,如何使用Gson解析JSON

时间:2017-03-31 08:47:29

标签: json serialization gson

我有以下JSON文档:

{
  "1786042": {},
  "2064178": {
    "initialImportDate": "2015-11-13T12:22:53.585",
    "hideCrossedOutPrice": false,
    "salesCount": 0,
  },
  ...
}

如何访问可以反序列化的id(而不是名称)定义的产品列表?

1 个答案:

答案 0 :(得分:1)

您可以在此处使用TypeToken

我假设一个名为Product的类,其中包含initialImportDatehideCrossedOutPrice等属性。

现在您可以使用TypeToken反序列化此json,如下所示:

Type productMap = new TypeToken<Map<Integer, Product> >() {}.getType();
Map<Integer, Product> result= gson.fromJson(jsonString, productMap);