如何使用杰克逊

时间:2019-07-17 19:29:04

标签: java jackson2

我要序列化一个类,并想用自定义名称解开第二级属性。

class P {
    X x;
    Y y;
}
class X {
    A a1;
    A a2;
    A a3;
}
class Y {
    A a4;
    A a5;
    A a6;
}
class A {
    Set<String> values1;
    Set<String> values2;
}

序列化后的json是:-

{
  "x": {
    "a1": {
      "values1": [],
      "values2": []
    },
    "a2": {
      "values1": [],
      "values2": []
    },
    "a3": {
      "values1": [],
      "values2": []
    }
  },
  "y": {
    "a4": {
      "values1": [],
      "values2": []
    },
    "a5": {
      "values1": [],
      "values2": []
    },
    "a6": {
      "values1": [],
      "values2": []
    }
  }
}

如果我在X和Y类的属性上使用JsonUnwrapped,将有多个value1和values2。

预期的序列化json是:-

{
  "x": {
    "a1": [],
    "_a1": [],
    "a2": [],
    "_a2": [],
    "a3": [],
    "_a3": []
  },
  "y": {
    "a4": [],
    "_a4": [],
    "a5": [],
    "_a5": [],
    "a6": [],
    "_a6": []
  }
}

有没有办法做到这一点?

0 个答案:

没有答案