JSON to Java:如何将对象列表建模为通用模型

时间:2018-03-15 08:52:56

标签: java json

我正在使用SpreadJS制作一个spreadSheet,我应该能够添加,删除和更改嵌套在许多对象中的键的值。以下是我的json格式:

{
  "version": "10.0.0",
  "sheets": {
    "Sheet1": {
      "name": "Sheet1",
      "data": {
        "dataTable": {
          "0": {
            "0": {
              "value": 129
            }
          }
        }
      },
      "selections": {
        "0": {
          "row": 0,
          "rowCount": 1,
          "col": 0,
          "colCount": 1
        },
        "length": 1
      },
      "theme": "Office",
      "index": 0
    }
  }
}

数据表示,例如,spreadSheet [0,0],[0,1],[1,1]等中每个单元格的值。我想将这些数据解析为通用模型列表,对于字段dataTable我想像这样表示:Map<Integer, Map<Integer, ValueObj>>例如在这种情况下<0, <0, 129>>但我没有找到怎么做那个以及我的模型可能会如何。

我是JSON的新手任何帮助表示赞赏!感谢

1 个答案:

答案 0 :(得分:0)

然后,为了处理数据,您可以使用类似的通用类:

class CellData<T> {
    T data;
}

然后阅读如下:

String jsonInput = "{ \"0\": { \"0\": { \"value\": 129 } } }";
ObjectMapper mapper = new ObjectMapper();
TypeReference<HashMap<Integer,HashMap<Integer,CellData<Integer>>>> typeRef = 
    new TypeReference<HashMap<Integer, HashMap<Integer, CellData<Integer>>>>() {};
Map<Integer, Map<Integer, CellData<Integer>>> map = mapper.readValue(jsonInput, typeRef);