gpt4 book ai didi

java - Lombok/Jackson - 用于 json 数组的 POJO

转载 作者:太空宇宙 更新时间:2023-11-04 09:05:04 28 4
gpt4 key购买 nike

我有一个 json 数组,需要从服务器接收(反序列化)并将其发送(序列化)到另一个服务器:

示例:

[
{
"car-name": "string",
"parts": [
"engine",
"wheels"
]
}
]

我开始编写以下 POJO 来表示这个 Json 数组:

import lombok.Builder;
import lombok.Singular;
import lombok.Value;


@Builder
@Value
public class Car {

private String carName;
@Singular("part")
private List<String> parts;
}

这样:

  1. 我能够使用 Lombok 构建对象:

Car myCar = Car.builder().carName("Tesla").part("engine").part("wheels").build();

  • 使用诸如 unmarshal().json(Jackson, Car.class) 之类的方式进行解码。
  • 虽然 1) 和 2) 有效,但它们没有给我实际代表上面 json 示例的对象。

    他们给出的是:

      {
    "car-name": "string",
    "parts": [
    "engine",
    "wheels"
    ]
    }

    我尝试使用父类,如下所示:

    import lombok.Builder;
    import lombok.Singular;
    import lombok.Value;

    @Builder
    @Value
    public class Vehicle {

    private List<Car> vehicles;
    }

    但这也给了我一个错误的对象(注意“车辆”键与我上面示例中的键):

      {
    "vehicles": {
    "car-name": "string",
    "parts": [
    "engine",
    "wheels"
    ]
    }
    }

    如何编写表示此 JSON 数组的 POJO,最好使用 Lombok?还是 jackson ?

    最佳答案

    您不需要包装 List<Car>Vehicle类因为Vehicle代表JsonObjectvehicles是其中的一个属性。直接返回或者序列化List<Car>就可以了

    objectmapper.writeValueAsString(List<Car>);

    关于java - Lombok/Jackson - 用于 json 数组的 POJO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60311290/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com