gpt4 book ai didi

jackson - 如何解包单个项目数组并将值字段提取到一个简单字段中?

转载 作者:行者123 更新时间:2023-12-04 04:48:12 24 4
gpt4 key购买 nike

我有一个类似于以下内容的 JSON 文档:

{
"aaa": [
{
"value": "wewfewfew"
}
],
"bbb": [
{
"value": "wefwefw"
}
]
}

我需要将其反序列化为更干净的东西,例如:
public class MyEntity{
private String aaa;
private String bbb;
}

解包每个数组并在反序列化时提取“值”字段的最佳方法是什么?只是自定义 setter ?或者有更好的方法吗?

最佳答案

为了完整起见,如果您使用 jackson,则可以启用反序列化功能 UNWRAP_SINGLE_VALUE_ARRAYS .
为此,您必须为 ObjectMapper 启用它。像这样:

ObjectMapper objMapper = new ObjectMapper()
.enable(DeserializationFeature.UNWRAP_SINGLE_VALUE_ARRAYS);

这样,您就可以像在 jackson 一样阅读类(class)。
例如,假设类 Person :

public class Person {
private String name;
// assume getter, setter et al.
}

和一个 json personJson :

{
"name" : [
"John Doe"
]
}

我们可以通过以下方式反序列化它:

ObjectMapper objMapper = new ObjectMapper()
.enable(DeserializationFeature.UNWRAP_SINGLE_VALUE_ARRAYS);

Person p = objMapper.readValue(personJson, Person.class);

关于jackson - 如何解包单个项目数组并将值字段提取到一个简单字段中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17853533/

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