为了账号安全,请及时绑定邮箱和手机立即绑定

将 POJO 序列化为 JSON - 输入参数化

将 POJO 序列化为 JSON - 输入参数化

潇潇雨雨 2021-07-06 13:27:50
我有 4 个 POJO我有一个类文件将根据这些 POJO 映射值当我运行代码时public static void main(String[] args) throws Exception {    Input user = new Input();    user.setId("0001");    user.setType("donut");    user.setName("cake");    user.setPpu(0.55);下面是我的输出{  "id" : "0001",  "type" : "donut",  "name" : "cake",  "ppu" : 0.55,  "batters" : null,  "topping" : [ ]}但是,我希望我的输出是{ "id": "0001", "type": "donut", "name": "Cake", "ppu": 0.55, "batters": { "batter": [{ "id": "1001", "type": "Regular" }, { "id": "1004", "type": "Devil's Food" } ] }, "topping": [{ "id": "5001", "type": "None" }, { "id": "5004", "type": "Maple" } ] }我不确定如何即兴编写代码以像我期望的那样打印输出,谢谢
查看完整描述

2 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

你应该使用这样的东西:


public static void main(String[] args) throws Exception {

    Input user = new Input();

    user.setId("0001");

    user.setType("donut");

    user.setName("Cake");

    user.setPpu(0.55);


    // Add Regular batter

    Batter batter1 = new Batter();

    batter1.setId("0001");

    batter1.setType("Regular");


    // Add Devil's Food batter

    Batter batter2 = new Batter();

    batter2.setId("1004");

    batter2.setType("Devil's Food");


    Batters batters = new Batters();

    batters.setBatter(Arrays.asList(batter1, batter2));

    user.setBatters(batters); 


    // Add toppings

    Topping topping1 = new Topping();

    topping1.setId("5001");

    topping1.setId("None");


    Topping topping2 = new Topping();

    topping2.setId("5004");

    topping2.setId("Maple");


    users.setTopping(Arrays.asList(topping1, topping2));


    ObjectMapper mapper = new ObjectMapper();

    mapper.enable(SerializationFeature.INDENT_OUTPUT);


    String json = mapper.writeValueAsString(user);

    System.out.println(json); // expected string


查看完整回答
反对 回复 2021-07-14
?
慕码人8056858

TA贡献1803条经验 获得超6个赞

public static void main(String[] args) throws JsonProcessingException {

    Javabelazy user = new Javabelazy();

    user.setId("0001");

    user.setType("donut");

    user.setName("Cake");

    user.setPpu("0.55");

    Batter batter1 = new Batter();

    batter1.setId("0001");

    batter1.setType("Regular");

    Batter batter2 = new Batter();

    batter2.setId("1004");

    batter2.setType("Devil's Food");

    Batters batters = new Batters();

    Batter[] batter = new Batter[2];

    batter[1] = batter1;

    batter[0] = batter2;

    batters.setBatter(batter );

    user.setBatters(batters); 

    Topping topping1 = new Topping();

    topping1.setId("5001");

    topping1.setId("None");

    Topping topping2 = new Topping();

    topping2.setId("5004");

    topping2.setId("Maple");

    Topping[] topping = new Topping[2];

    topping[0] = topping1;

    topping[1] = topping2;

    user.setTopping(topping );

    ObjectMapper objectmapper = new ObjectMapper();

    String json = objectmapper.writeValueAsString(user);

    System.out.println(json);

}


查看完整回答
反对 回复 2021-07-14
  • 2 回答
  • 0 关注
  • 125 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号