我有一个需要从服务器接收(反序列化)并发送(序列化)到另一台服务器的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;
}
使用此:
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?还是杰克逊?
我有一个json数组,我需要从服务器接收(反序列化)并将其发送(序列化)到另一台服务器:示例:[{“ car-name”:“ string”,“ parts”:[“ engine “,” wheels“ ...
您不需要将List<Car>
包装在Vehicle
类中,因为Vehicle
表示JsonObject
,而vehicles
是其中的一个属性。只需直接返回或序列化List<Car>