我有一个值列表,例如在CSV中;和一个JSON模式**,它可以在运行时更改**。我想从模式中创建一个JSON,并从CSV中填充适当的值。
以下是我想实现的一个例子:
下面是一个CSV:
productId,价格,库存
12345,200,正确
45678,299,正确
我需要将每一行转换为JSON,例如,如下所示。可以有嵌套对象。模式可以更改,我需要提供相关的Map。
{
"product":{
"id": "1234",
"price" : 200,
"stockAvailable" : "yes"
}
}
我想到了一些实现它的方法。我想看看是否有更好的方法可以通过一些图书馆。如果没有,有没有任何缺点的任何以下方法?
**1.**从schema中创建一个JSON,默认值为CSV的Map列号,放在大括号内。就像上面的例子中,JSON如下所示。可以使用String格式化程序提供值。
{
"product":{
"id": {0},
"price" : {1},
"stockAvailable" : {2}
}
}
**2.**创建一组动态的JSON数据绑定类,填充值(使用Jackson或类似的方法)并转换为JSON。
@JsonPropertyOrder({ "id", "price", "stock"})
public class Product {
public String id;
public Double price;
public Boolean stock;
}
1条答案
按热度按时间hi3rlvi21#
为什么不使用Map〈String,Object〉并将其 Package 到POJO中呢?
您也可以使用JacksonSubstypes,但您需要事先定义https://www.baeldung.com/jackson-annotations