我有一个下面的 JSON 结构。我需要使用 Jackson 库来解析它。我正在构建一个 Web 服务,它在 POST 方法的主体中接受以下 JSON。
{
"organization": {
"products": [
"foo",
"bar",
"baz"
]
},
"mission" : "to be the best in domain"
}
直到现在我有了简单的 JSON 正文,它没有嵌套和 JSON 元素,就像在本例中 organization
是另一个包含一组产品的 JSON 节点。
此 JSON 键不是强制性的,我正在 JsonNode
中接受/存储 organization
JSON。并进行以下检查。
- 如果
组织
为空。 - 如果
organization
不为 null 并且具有products
键。
但之后我不知道如何从这个 JsonNode
中获取棋盘集并将其存储在 Java 的 HashSet 中。
我预期的 O/P 应该是从我的组织
JsonNode 中提取一组板。
附注:- 我想我必须使用 ObjectMapper
但找不到获取 Set 的直接方法。看来我需要使用一些我不太熟悉的 JsonParser。
最佳答案
您可以根据您的目的创建 DTO(数据传输对象)。嵌套对象可以具有如下结构:
class Organization {
List<String> Products;
.....
}
class WebOrganizationRequest {
Organization organization;
String mission;
}
通过以这种方式创建对象,您可以将 JSON 对象映射到类,当您使用 WebOrganizationRequest 作为请求正文类型将 JSON 传递到 Controller 时,Jackson 会将 JSON 类型转换为 WebOrganizationRequest 的实例。
关于java - 如何使用 Jackson 获取嵌套 JsonNode 内的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57457991/