PHP:json 解码限制

标签 php json

拿这段代码:

$json = file_get_contents($this->url, true); 
$decode = json_decode($json, true); 

foreach ($decode as $key => $value) {
 ...
}

很简单,嗯?

传递一个最多包含 500 个数组元素的 $json.... 工作正常!

超过这个限制...错误是:

Warning: Invalid argument supplied for foreach() in /c/website/retriever/WsGlassRetriever.php on line 19

该函数的参数是否有内存限制?

我没有在文档中找到任何关于它的信息。我的版本是 PHP 5.2.17-rnx1.1 with Suhosin-Patch 0.9.7 (cli)

最佳答案

如果 JSON 语法有错误,

json_decode 返回 NULL。我刚刚成功测试了一个包含 1000 个元素的数组,它运行得很好。

仔细检查您的 JSON 格式是否正确。即使是使用单引号而不是双引号、忘记将属性名称放在引号中、或者使用 32-127 范围之外的字符而没有以 UTF-8 正确编码这样的小事也可能导致这些问题。

关于PHP:json 解码限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9908421/

相关文章:

php - CodeIgniter 中的 ActiveRecord

PHP 正则表达式匹配特定的 css 类名 + :before pseudo

json - 将查询与多个值匹配

java - JAX-RS Jersey 客户端使用 POJO MAPPING 和 Jackson 编码 JSON 响应

javascript - 使用 Generate Ionic 使用 AngularJS 将 JSON 字符串反序列化为对象

php - 将 json 从 php 发送到 javascript

php - 无需输入字符即可显示查询

php - 我需要在 SQL 中进行左联接、自然联接还是简单联接?

php - 每个用户临时记录 PHP 数据库的好方法?

json - Firebase 安全规则?