杰克逊 - 在序列化中省略字段名称

时间:2015-06-23 10:00:07

标签: java jackson

我有以下数据:

{ long x; long y;}

使用Jackson序列化为JSON后,我得到以下内容:

{ "x": 1, "y": 2 }

但是,我正在寻找这个:

[1, 2]

我怎么能和杰克逊一起做到这一点?

3 个答案:

答案 0 :(得分:3)

正如其他人所说,你不能省略JSON对象的密钥,但你可以将POJO序列化为一个数组,如下所示:

@JsonFormat(shape=JsonFormat.Shape.ARRAY)
@JsonPropertyOrder({ "x", "y" }) // important; or 'alphabetic=true'
public class POJO {
   public int x, y;
}

然后将序列化为:

[1,2]

甚至类似地从JSON Array反序列化。

答案 1 :(得分:2)

不,你违反了JSON格式,这种格式基本上是键值格式。

但是你可以把它序列化为:

    public void imageSlider(){
    HashMap<String,Integer> file_maps = new HashMap<String, Integer>();
    file_maps.put("Palava Titans - Lodha Palava, Dombivali",R.drawable.img1);
    file_maps.put("Dribble Football -Imax, Wadala",R.drawable.img2);
    file_maps.put("Astro Park - Atria, Worli",R.drawable.img3);
    file_maps.put("TigerPlay - Citimall, Andheri w", R.drawable.img4);
    file_maps.put("DSF - Ryan International, Andheri", R.drawable.img5);
    file_maps.put("The Arena, Sakinaka", R.drawable.img6);
    file_maps.put("Astro Park - Smash, Lower Parel", R.drawable.img7);
    file_maps.put("DSF - Rcity, Ghatkopar", R.drawable.img8);
    file_maps.put("Father Agnel - Vashi", R.drawable.img9);
    file_maps.put("Footbrawl - Milan Subway", R.drawable.img10);

    for(String name : file_maps.keySet()){
        TextSliderView textSliderView = new TextSliderView(this);
        // initialize a SliderLayout
        textSliderView
        .description(name)
        .image(file_maps.get(name))
        .setScaleType(BaseSliderView.ScaleType.Fit);
        //add your extra information
        textSliderView.getBundle()
        .putString("extra",name);

        mDemoSlider.addSlider(textSliderView);
    }
    mDemoSlider.setPresetTransformer(SliderLayout.Transformer.Accordion);
    mDemoSlider.setPresetIndicator(SliderLayout.PresetIndicators.Right_Bottom);
    mDemoSlider.setCustomAnimation(new DescriptionAnimation());
    mDemoSlider.setDuration(5000);
}

只需在你的dto中列出一个列表。

答案 2 :(得分:0)

{ 1, 2}

不是有效的JSON。你在寻找[1,2]吗?它的列表或数组。您可以序列化

List<Long>

到它。