【发布时间】:2010-06-03 01:52:36
【问题描述】:
有没有办法判断提要是 XML、JSON 还是两者兼有?
【问题讨论】:
-
请注意:一个提要不能同时是有效的 XML 和有效的 JSON。它需要自定义阅读器从单个文档中提取每种格式的信息,如果需要自定义阅读逻辑,则它对相关格式无效。
有没有办法判断提要是 XML、JSON 还是两者兼有?
【问题讨论】:
最好和可靠的方法是简单地通过 XML 和 JSON 解析器运行它,然后查看哪个可以正常工作而不会产生语法错误。例如,在 PHP 中,尝试 json_encode($feed_string) 和 $xml = new SimpleXMLElement($feed_string);
或者,你可以做一些简单的字符串检查。所有格式正确的 XML 文档都以 <?xml 开头,而 JSON 通常以 { 开头,因为提要数据是一个 Javascript 对象。
Google 提供的两种 Feed 格式的示例可能会有所帮助:
【讨论】:
[ ... ] 以及对象 { ... } 开头
我不太清楚你所说的“feed”是什么意思,但如果文件的 mime 类型设置为application/json,那么它就是 JSON。 XML 有两种标准的 mime 类型(application/xml 和 text/xml)。
如果您无权访问 mime 类型(或者它们不明确),您可以在正确的 xml 文件的开头检查 <?xml。如果它不存在,那么您可能会很好地猜测它是 XML 如果它仅以 < 开头,而 JSON 如果它以 { 开头。但不能保证它们会正确形成。
【讨论】: