Jackson JSON帮助(Serializer)

时间:2013-07-30 20:39:01

标签: json jackson

我正在使用杰克逊1.9.11。

我需要创建一个JSON,如下所示:

"items": [
{
"batch": "sectionA",
"id": "section1",
"full": "N",
"numStudents": 2,
"students": [
    {
        "name": "John",
        "married": "Y"

    },
    {
        "name": "Mary",
        "married": "N"
    }
]
},
{
"batch": "sectionB",
"id": "section2",
"full": "Y",
"numStudents": 3,
"students": [
    {
        "name": "John",
        "married": "Y"

    },
    {
        "name": "Mary",
        "married": "N"
    },
    {
        "name": "Sam",
        "married": "N"
    }
]
}

]

我有一个HashMap:"items" = List<Batch>

每批包含以下变量:batch,List<Students>

我需要根据HashMap中的一些值来评估:“full”(这个Map是使用一些辅助类创建的)。

“numStudents”是List<Students>.size()

“id”是在List<Batch>

中附加此批次索引的“section”

现在的问题是我无法修改这些类,因为它们是库的一部分。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您可以通过两种方式实现目标:简单和复杂。

  

简单:

您可以使用所需的字段创建新的POJO类。之后,您必须将库对象转换为新的POJO对象,最后使用JacksonGson库对其进行序列化。

  

复合物:

您可以为库类编写新的序列化器/反序列化器,但此解决方案非常复杂。

有用的链接: