我该如何解析奇怪的JSON类型?

时间:2017-01-15 05:29:32

标签: php json regex parsing

我有一个像this这样的字符串内容。据我所知,它是JSON。因为它是ajax请求的响应。现在我需要解析它,我该怎么做?

注意我可以通过 regex 来做到这一点,但是如您所知,这样做是非常不推荐的。

1 个答案:

答案 0 :(得分:2)

您提供的JSON数据非常无效。您需要先修复它然后使用本机函数将其转换为php数组。

几乎所有语言都将此JSON提供给(标准)解析器会给您带来错误。原因是这些解析器基于JSON格式的预定义规则。因此,我建议处理数据源并使其成为有效的JSON。

如果您仍然坚持将该数据用于解析器,那么您需要找到一个“宽容”解析器。 PHP native JSON扩展名不能因为速度而被打败,但是在它解析为有效的json上它是非常无法容忍的。几乎每个人都肯定会受到打击。

PEAR JSON是一个宽容的解析器,它将为您解析和重新格式化无效的JSON,您需要安装该扩展。但是我仍然建议使用有效的数据,因为格式错误的JSON可能会导致不可预测的结果,而且你不会在生产中喜欢它。