簡體   English   中英

將H7消息轉換為Json

[英]Converting Hl7 message to Json

我需要將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轉換(這確實很簡單),並將“名稱映射”步驟包括在該轉換中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM