GSON:将json转换为java对象,将地图作为字段

时间:2018-04-04 07:45:02

标签: java json gson

我有一个像这样的JSON:

String json = 
  "{\n" + 
  "\tfeeType: [{2:\"SALESCOMM_GST\"},{3:\"SALESCOMM\"}],\n" +
  "\tfeeBasis: [{0:\"AMOUNT\"},{1:\"CPS\"},{2:\"PERCENT\"}]\n" +
  "}"

我想转换成这样的java对象。

private class MyObj{
        public Map<Integer, String> feeType;
        public Map<Integer, String> feeBasis;

        public Map<Integer, String> getFeeType() {
            return feeType;
        }

        public void setFeeType(Map<Integer, String> feeType) {
            this.feeType = feeType;
        }

        public Map<Integer, String> getFeeBasis() {
            return feeBasis;
        }

        public void setFeeBasis(Map<Integer, String> feeBasis) {
            this.feeBasis = feeBasis;
        }
    }

我尝试过使用gsonBuilder.enableComplexMapKeySerialization,但它似乎不起作用。请帮忙。

修改 获准以另一种方式实施。 (使用地图而不是列表)

新JSON:

String json = 
  "{\n" + 
  "\t\"feeType\": {2:\"SALESCOMM_GST\",3:\"SALESCOMM\"},\n" + 
  "\t\"feeBasis\": {0:\"AMOUNT\",1:\"CPS\",2:\"PERCENT\"}\n" + 
  "}"

0 个答案:

没有答案