3

JSON我正在尝试验证in的一大块PHP

不需要使用实际数据,我只需要验证它。

我不能使用json_decode,因为它超出了内存限制。

最好的方法是什么?

4

3 回答 3

0

我希望您可以计算控制结构(方括号和大括号),如果打开/关闭结构的数量相同,您可以部分赌 JSON 没问题。有很多方法仍然可能是错误的,比如不正确的嵌套,但我认为验证字符串的唯一真正好的方法是解码它。您可能会考虑提高内存限制,或者让 JSON 的作者发送子集,以便您可以解码子集并验证对象的每个部分组件。

于 2012-12-26T18:37:52.160 回答
0

这是关于使用正则表达式进行验证的讨论(不解析内容)正则 表达式来验证 JSON

于 2012-12-26T21:07:38.430 回答
0

正确的方法是构建解析器。查看这篇文章或对构建解析器的过程进行一些研究。基本上,这意味着为 JSON 定义一个语法(在http://JSON.org上已经为您完成了很多工作),然后构建函数来检查相应的机器来处理每种类型的令牌。这将减少执行处理所需的内存量(在理想的实现中,它可能会下降到最大 JSON 值的大小)。

在 Google 上进行一些搜索以确保您没有重新发明轮子可能是值得的。

于 2012-12-27T03:25:40.147 回答