杰克逊:为JsonArray添加密钥标识符

时间:2015-06-02 16:00:31

标签: java json jackson

我在jackson的帮助下创建了JsonArray,我正在尝试将一个键ProductSponsor.objects.create(sponsor=SponsorObject, product=ProductObject) AccountSponsor.objects.create(sponsor=SponsorObject, account=AccountObject) 添加到受欢迎的JsonArray中,以将其作为对Android应用程序的响应发送。如何将其添加到JsonArray?

我提供任何帮助。

map_data

代码:

{
  "map_data":
             [
               {"route": 2, "latitude": 89.667781, "longitude": 13.517741},
               {"route": 7, "latitude": 89.657772, "longitude": 13.537742},
               {"route": 9, "latitude": 89.647763, "longitude": 13.547754},
               {"route": 12, "latitude":89.637754, "longitude": 13.567765}
              ]

}

2 个答案:

答案 0 :(得分:1)

您可以使用ObjectWriter#withRootName(String)提供根名称

  

使用配置构造新实例的方法   指定用于“根元素包装”的根名称。

例如,

String json = ow.withRootName("map_data").writeValueAsString(lrl);

答案 1 :(得分:0)

你想要的是一个JSON对象,它包含一个名为map_data的array类型的单个字段。这就是你应该序列化的内容,而不仅仅是序列化列表:

public class SomeClass {
    @JsonProperty("map_data")
    private List<MapData> mapData;

    // getters and setters omitted for brevity
}