【发布时间】:2015-09-08 08:06:20
【问题描述】:
目前我正在尝试区分不同的序列化文本格式。主要在 XBRL、XML、CSV 和 JSON 之间。
我想假设,按步骤检查,如果我们使用解析器解析 XBRL/XML 并返回而没有抛出任何异常,那么它是一个有效的 XML 文档,需要进一步检查以查看该文档是否是常规的xml 或 xbrl。
如果第一次检查失败,请尝试解析 csv。如果解析 csv 返回异常,请尝试解析为 JSON。如果以上方法均无效,则为无效文档。
这是一种识别文档文本格式类型的特殊方法吗?或者,还有更好的方法? (即读取文档的前几个字节等...)。
谢谢
【问题讨论】:
-
可能某些数据可以用不止一种方式解释(例如,双引号中的单个字符串可能是有效的 CSV 和 有效的 JSON),但在这种情况下无论如何,没有“完美”的答案。如果可以使用任何有效格式,那么读取几个字节并相应地对测试进行排序(例如,lota
<建议先尝试 XML)将节省时间——只需使用第一个不给出异常的格式。最后请注意,CSV 有许多“参数”(例如引用类型、是否允许嵌入换行符等)——IOW 存在大量略微不兼容的 CSV 格式。 :(
标签: json xml algorithm csv xbrl