我需要解析这样的自定义.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>
等
当然,这只是一个草图,因为您只提供了实际数据的草图。