JSON端口支持将XML数据转换为JSON,并将JSON数据转换为XML。
概览
JSON端口在JSON和XML之间进行转换,只需最少的配置。端口将自动检测输入文件是JSON还是XML,并将文件转换为其他格式。端口支持可配置的语法,用于区分属性和确保输出是有效的。
端口配置
本节包含所有可配置的端口属性。
配置
端口配置
与端口核心操作相关的设置。
根元素名称 | 当从JSON转换为XML时,该值被用作生成的XML文档中根元素的名称。这确保了输出XML有一个根元素,不论输入JSON的结构如何。 |
属性前缀 | JSON中用于标识属性的前缀。当从JSON转换为XML时,端口将把带有这个前缀的值解释为结果XML中的属性。当从XML转换为JSON时,端口将把这个前缀添加到结果JSON的属性值中。更多信息请参见示例部分。 |
文本属性名称 | 当JSON对象具有属性值和非属性值时,该名称标识非属性值。当从JSON转换为XML时,与该名称相关联的值会在生成的XML元素的文本中设置。当从XML转换为JSON时,元素中的文本被设置为该名称的值。更多信息请参见示例部分。 |
无效的XML名称前缀 | 当JSON元素的名称不是有效的XML时,这个前缀被添加到XML元素名称中。例如,JSON元素名可以以数字开头,而XML元素名不能;当从JSON转换为XML时,这个字段的值将被添加到元素名称的前面,以确保生成的XML是有效的。 |
缩小输出 | 是减少生成的XML文档还是JSON文档中的空白。启用此选项可以节省空间,但可能会降低输出的可读性。 |
本地文件夹
确定端口将在何处读取文件进行处理并写出结果的设置。
输入文件夹(Send) | 放在这里的文件可以由端口处理成REST请求。如果启用了发送自动化,端口将自动轮询该位置的文件。 |
输出文件夹(Receive) | 端口下载的数据将被写入此文件夹。如果端口连接到流中的另一个端口,文件将不会保留在这里,而是传递到已连接端口的输入/发送文件夹。 |
已处理文件夹(Sent) | 如果启用了“保存到已处理文件夹(Sent)”,端口将在此放置已处理文件的副本。该文件的副本不会传递到流中的下一个端口。 |
性能
与端口资源分配相关的设置。
最大线程数 | 线程池中用于处理此端口上文件的最大工作线程数。如果设置,将覆盖“个人配置”选项卡中的默认设置。 |
最大文件数 | 每次将工作线程分配给端口时,端口将处理的最大文件数。如果设置,将覆盖“个人配置”选项卡中的默认设置。 |
其他配置
未包含在先前类别中的设置。
日志消息 | 已处理文件的日志条目是否包括文件本身的副本。 |
保存至Sent文件夹 | 端口处理的文件是否应复制到端口的已发送文件夹。 |
自动化
与端口自动处理文件相关的设置。
发送 | 端口是否应该自动发送文件。 |
示例
下面是使用JSON端口在XML和JSON之间进行转换的示例。
XML至JSON
XML输入:
1 2 3 4 5 6 7 8 9 10 11 |
<Fable> <Author alive="false">Aesop</Author> <Title> Tortoise and the Hare </Title> <Characters> <Character id="1" slow="true">Tortoise</Character> <Character id="2" slow="hardly">Hare</Character> </Characters> <Moral>Persistence over speed</Moral> </Fable> |
JSON输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
{ "Fable": { "Author": { "@alive":"false", "#text":"Aesop" }, "Title":"Tortoise and the Hare", "Characters": { "Character": [ { "@id":"1", "@slow":"true", "#text":"Tortoise" }, { "@id":"2", "@slow":"hardly", "#text":"Hare" } ] }, "Moral":"Persistence over speed" } } |
JSON至XML
JSON输入:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
{ "Catch": [ { "type": "salmon", "quantity": "2", "weight": "20.2 lbs" }, { "type": "pike", "quantity": "21", "weight": "521 lbs" } ], "Lake": "Boulder", "Weather": "Clear", "808s": "Loud" } |
XML输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<Items> <Catch> <type>salmon</type> <quantity>2</quantity> <weight>20.2 lbs</weight> </Catch> <Catch> <type>pike</type> <quantity>21</quantity> <weight>521 lbs</weight> </Catch> <Lake>Boulder</Lake> <Weather>Clear</Weather> <_808s>Loud</_808s> </Items> |
注:文案部分图片及内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。