gpt4 book ai didi

java - 将 Hl7 消息转换为 Json

转载 作者:太空宇宙 更新时间:2023-11-04 13:37:34 25 4
gpt4 key购买 nike

我需要将 HL7 消息转换为 JSON,因此我使用 Hapi 将消息转换为 xml,然后使用 JSON 库将 xml 转换为 JSON,xml 的输出为

<?xml version="1.0" encoding="UTF-8"?>
<ADT_A01 xmlns="urn:hl7-org:v2xml">
<MSH>
<MSH.1>|</MSH.1>
<MSH.2>^~\&amp;</MSH.2>
<MSH.3>
<HD.1>7EDIT</HD.1>
</MSH.3>
<MSH.4>
<HD.1>7EDIT.COM</HD.1>
</MSH.4>
<MSH.5>
<HD.1>IS</HD.1>
</MSH.5>
<MSH.6>
<HD.1>FACILITY</HD.1>
</MSH.6>
<MSH.7>20150721160705</MSH.7>
<MSH.8>S</MSH.8>
<MSH.9>
<MSG.1>ADT</MSG.1>
<MSG.2>A01</MSG.2>
</MSH.9>
<MSH.10>MSG00001</MSH.10>
<MSH.11>
<PT.1>P</PT.1>
</MSH.11>
<MSH.12>
<VID.1>2.6</VID.1>
</MSH.12>
<MSH.13>1</MSH.13>
<MSH.14>ST</MSH.14>
<MSH.15>AL</MSH.15>
<MSH.16>AL</MSH.16>
<MSH.17>972</MSH.17>
<MSH.18>WINDOWS-1252</MSH.18>
</MSH>
<EVN>
<EVN.1>A01</EVN.1>
<EVN.2>20150721160852</EVN.2>
<EVN.3>20150721160854</EVN.3>
<EVN.4>01</EVN.4>
<EVN.5>
<XCN.1>st</XCN.1>
</EVN.5>
<EVN.6>20150721160917</EVN.6>
<EVN.7>
<HD.1>IS</HD.1>
</EVN.7>
</EVN>
<PID>
<PID.1>1</PID.1>
<PID.2>
<CX.1>ST</CX.1>
<CX.4>
<HD.1>IS</HD.1>
</CX.4>
</PID.2>
<PID.3>
<CX.1>12345</CX.1>
</PID.3>
<PID.5>
<XPN.1>
<FN.1>JOSEPH</FN.1>
</XPN.1>
</PID.5>
</PID>
<PV1>
<PV1.2>B</PV1.2>
<PV1.3>
<PL.1>IS</PL.1>
</PV1.3>
<PV1.4>A</PV1.4>
<PV1.5>
<CX.1>S</CX.1>
</PV1.5>
<PV1.6>
<PL.1>S2</PL.1>
</PV1.6>
<PV1.7>
<XCN.1>REALM</XCN.1>
</PV1.7>
<PV1.8>
<XCN.1>HANNAH</XCN.1>
</PV1.8>
<PV1.9>
<XCN.1>DOCTOR</XCN.1>
</PV1.9>
<PV1.10>SUR</PV1.10>
<PV1.11>
<PL.1>PC</PL.1>
</PV1.11>
<PV1.12>S</PV1.12>
<PV1.13>R</PV1.13>
<PV1.14>7</PV1.14>
<PV1.15>A0</PV1.15>
<PV1.16>IN</PV1.16>
<PV1.17>
<XCN.1>NUMBER</XCN.1>
</PV1.17>
<PV1.18>AM</PV1.18>
<PV1.19>
<CX.1>NUM</CX.1>
</PV1.19>
<PV1.20>
<FC.1>FC</FC.1>
</PV1.20>
<PV1.21>PR</PV1.21>
<PV1.22>S</PV1.22>
<PV1.23>SS</PV1.23>
<PV1.24>S</PV1.24>
</PV1>
</ADT_A01>

这里的输出类似于 segmenName.FieldName (MSH.1),因此 Json 也是相同的,而不是 segmenName.FieldName ,我需要为每个字段指定一个有意义的名称,我无法弄清楚如何执行此操作

我需要将 Xml 中的元素映射到 JSON 中的不同键

最佳答案

实现此目的的一种方法是建立字段/名称的映射,并遍历所有 JSON 查找映射上的字段,当找到字段时,将其名称更改为映射中对应的名称。

您可能无法更改正在遍历的 JSON,在这种情况下,遍历应该克隆结构,创建具有相应名称的 JSON 节点。

您的 JSON 工具可能有一种递归地解析和遍历整个 JSON 对象的方法。

另一种方法是实现 XML-JSON 转换(这确实很简单),并将“名称映射”步骤包含到该转换中。

关于java - 将 Hl7 消息转换为 Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31555874/

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