读取自定义 JSON 并在 XML 中填充数据

Read custom JSON and fill data in XML

我需要像这样解析自定义 .json 文件:

 {"04 Device Name " : 
{
      "ECU_1":
      {
      "01 Diagnostic"        : "OK",
      "02 CAN Id"            : "123456789"
,
       "01 SoftwareVersion "     : {
       "01 DID" : "123456789",
       "02 Value " : "123456789"
      }
,
       "02 HardwareVersion "     : {
       "01 DID" : "123456789",
       "02 Value " : "123456789"
      }

}
}

变成自定义 .xml 像这样

<Component>
            <ECUShortName>ECU_1</ECUShortName>
            <LocationShortName>ECU_1_1</LocationShortName>
            <LocationAccessKey>[Protocol]UDS_CAN_D.[EcuBaseVariant]BC_F213.[EcuVariant]123456789</LocationAccessKey>
            <DiagnosticInfo>
                <DiagnosticInfoValue>123456789</DiagnosticInfoValue>
            </DiagnosticInfo>
            <CommunicationProtocol>UDS</CommunicationProtocol>
            <CommunicationState>8</CommunicationState>
            <DTCCount>
                <DTCCountValue>4</DTCCountValue>
            </DTCCount>
            <SWHWInformation>
                <Software>
                    <PartNumber>
                        <PartNumberValue>123456789</PartNumberValue>
                    </PartNumber>
                    <Version>
                        <VersionValue>17/38/00</VersionValue>
                    </Version>
                    <Category>2</Category>
                    <Supplier>
                        <Code>1234</Code>
                        <Name>Supplier_1</Name>
                    </Supplier>
                </Software>
                <Hardware>
                    <PartNumber>
                        <PartNumberValue>123456789</PartNumberValue>
                    </PartNumber>
                    <Version>
                        <VersionValue>15/44/01</VersionValue>
                    </Version>
                    <Supplier>
                        <Code>1234</Code>
                        <Name>Supplier_1</Name>
                    </Supplier>
                </Hardware>
            </SWHWInformation>

我几乎可以使用任何语言,但想不出最适合的。 VisualBasic 适合 XML,JS 适合 JSON。 但是 JSON...

格式不正确

你知道怎么做吗?

XSLT 3.0 对此非常有用。您可以只编写一个 XML 样式的模板并使用从 JSON:

中提取的值填充它
<xsl:variable name="json" select="json-doc('input.json')"/>
<Component>
    <ECUShortName>{$json?ECU_SHORT_NAME}</ECUShortName>
    <LocationShortName>{$json?Location?ShortName}</LocationShortName>

等等

当然,这只是一个草图,因为您只提供了实际数据的草图。