是否有在线工具可以为复杂的 JSON 负载生成 JSON 规范?
Is there an online tool to generate the JSON Spec for a complex JSON payload?
我有一个带有嵌套数组的复杂 JSON 负载。我需要创建一个 JSON 规范来输出与今天相同的有效负载,这样如果发送系统添加了任何新字段,我希望它们被删除。
我需要此功能,因为在 TIBCO 的 Business Works 中,我需要根据我为此 JSON 有效负载生成的 XSD 解析此输出。不幸的是,如果新字段到达 JSON 有效负载,则使用 XSD 转换为 XML 会失败,因为它会进行严格比较,目前在 Business Works 中没有绕过它的选项.
我的例子JSON是
{
"items": [
{
"id": "000fd75c2b2fd30cadaae94c532d82f2408d95454996941002d8c8088157d03b",
"sourceIdentifier": {
"dataPartitionId": "877307a0-b5f5-4a01-9d4b-9fead6bcf788",
"id": "103357"
},
"birthDate": "YYYY-MM-DD",
"gender": {
"codings": [
{
"code": "248153007",
"display": "Male",
"system": "2.16.840.1.113883.6.96"
}
],
"sourceCodings": [
{
"code": "248153007",
"display": "Male",
"system": "2.16.840.1.113883.6.96"
}
],
"text": "Male"
}
}
],
"totalResults": 1,
"firstLink": "xyz",
"lastLink": "abc"
}
我想要一个 JOLT 规范,它向下并指定上述有效负载的每个子元素。
我在下面有这个简单的规范,但是如果发送应用程序添加了一个新字段,它也会出现在输出中,这对我来说是个问题。
[
{
"operation": "shift",
"spec": {
"items": "items"
}
}
]
感谢任何帮助。谢谢
要从 JSON 字符串中过滤 BusinessWorks 未知的字段(这意味着它们未在 BusinessWorks 使用的 XSD 中定义),您可以使用 'ignore additional JSON fields' 选项在 BW 6.6.1 中引入。
请参阅下面的发行说明摘录:
添加支持以在处理模式时忽略其他 JSON 字段
对于问题的另一部分,您可以使用以下 Studio 功能:
.右键单击 'Schema' 文件夹
. Select'News -> XML Schema File from JSON Payload'
但是这种方法有一些局限性,我认为它不能管理数组。
我有一个带有嵌套数组的复杂 JSON 负载。我需要创建一个 JSON 规范来输出与今天相同的有效负载,这样如果发送系统添加了任何新字段,我希望它们被删除。 我需要此功能,因为在 TIBCO 的 Business Works 中,我需要根据我为此 JSON 有效负载生成的 XSD 解析此输出。不幸的是,如果新字段到达 JSON 有效负载,则使用 XSD 转换为 XML 会失败,因为它会进行严格比较,目前在 Business Works 中没有绕过它的选项.
我的例子JSON是
{
"items": [
{
"id": "000fd75c2b2fd30cadaae94c532d82f2408d95454996941002d8c8088157d03b",
"sourceIdentifier": {
"dataPartitionId": "877307a0-b5f5-4a01-9d4b-9fead6bcf788",
"id": "103357"
},
"birthDate": "YYYY-MM-DD",
"gender": {
"codings": [
{
"code": "248153007",
"display": "Male",
"system": "2.16.840.1.113883.6.96"
}
],
"sourceCodings": [
{
"code": "248153007",
"display": "Male",
"system": "2.16.840.1.113883.6.96"
}
],
"text": "Male"
}
}
],
"totalResults": 1,
"firstLink": "xyz",
"lastLink": "abc"
}
我想要一个 JOLT 规范,它向下并指定上述有效负载的每个子元素。 我在下面有这个简单的规范,但是如果发送应用程序添加了一个新字段,它也会出现在输出中,这对我来说是个问题。
[
{
"operation": "shift",
"spec": {
"items": "items"
}
}
]
感谢任何帮助。谢谢
要从 JSON 字符串中过滤 BusinessWorks 未知的字段(这意味着它们未在 BusinessWorks 使用的 XSD 中定义),您可以使用 'ignore additional JSON fields' 选项在 BW 6.6.1 中引入。
请参阅下面的发行说明摘录:
添加支持以在处理模式时忽略其他 JSON 字段
对于问题的另一部分,您可以使用以下 Studio 功能: .右键单击 'Schema' 文件夹 . Select'News -> XML Schema File from JSON Payload'
但是这种方法有一些局限性,我认为它不能管理数组。