【发布时间】:2019-02-14 10:51:13
【问题描述】:
我有一个 json 架构,其中包含许多具有“图像”属性的元素。
"passportPhoto": {
"description": "Passport photo",
"type": "string",
"image": {
"binaryEncoding": "base64"
}
},
实际的 json 如下所示
"passportPhoto": "photo in base 64 encoded string format",
是否可以根据属性“image”过滤模式并以 jsonpath 格式获取所有元素的列表
$.a.b.c.passportPhoto
我必须使用 json 路径读取 json,然后对照片做一些事情,比如序列化它。 但我的问题是关于如何在 Java 系统中根据“图像”属性过滤架构。
【问题讨论】:
-
我不确定这是否可能直接。您需要阅读架构并找到所有具有
image属性的属性。之后,您需要找到给定属性列表的所有节点。如果架构是常量,您可以手动提取这些属性,然后尝试查找预定义属性列表的所有节点。 -
我没有固定的模式。有许多应用程序,并且都有不同的架构。但他们同意他们将发送所有在模式中标记为“图像”的图像。我相信很多人都会面临类似的问题。
-
见我下面的例子。它适用于预定义的一组属性,但是使用此示例,您应该能够将其扩展为首先读取架构,然后使用您找到的 int schema 属性在
JSON有效负载中查找路径和值。 -
@MichałZiober 非常感谢。这真的很有帮助。我得到 Path: $['chip']['properties']['passportPhoto']['image'] 但我想要 $['chip']['passportPhoto'] 。
标签: java json jackson jackson2