我正在为一家以ASN.1值表示法格式获取日志的公司工作。我需要设置一个解析器以从中提取数据。我已经尝试过使用朴素的正则表达式,但是我想尝试一种可以从此类文件(例如JSON / XML文件)中提取数据的方法。
例如:对于这样的文件,
value Rocket ::= {
name "Falcon",
-- use default for the message --
fuel solid,
speed mph : 18000,
payload {
"Car",
"GPS"
}
}
我想解析一下
根节点(Rocket)
值节点(名称)=“猎鹰”
另一个封装数组有效负载的节点(“汽车”,“ GPS”)
如何执行此操作?任何库或方法都将有所帮助。 在这种情况下,具有用于此目的的架构如何帮助?以及如何根据模式验证asn.1并从asn1中提取信息。值?
答案 0 :(得分:0)
解析这样的ASN.1表示法的最简单方法是使用商用的ASN.1工具,该工具支持在运行时(而不仅仅是在编译时)解析ASN.1值表示法。请注意,您仍然需要ASN.1类型定义的值,而不仅仅是值符号。
可以从我所工作的OSS Nokalva(https://www.oss.com)获得一种这样的工具。这些ASN.1工具还支持XML编码规则(XER)和JSON编码规则(JER),以便您可以根据需要生成JSON或XML的输出。您可以在免费的ASN.1游乐场网站https://asn1-playground.oss.com上试用该功能,以查看您要解析的日志文件是否为有效的ASN.1值符号。