当前位置: 首页 > 面试题库 >

json_encode返回NULL,json_last_error_msg给出“控制字符错误,可能编码错误”

公羊奇
2023-03-14
问题内容

读入我的编辑器后,文件看起来很好。

$file = file_get_contents('path/to/file.json');
$json =  json_decode($file, true);
var_dump($json); // null
echo json_last_error_msg(); //Control character error, possibly incorrectly encoded

关于此错误消息的含义,目前没有多少。


问题答案:

您可以删除控制字符,PCRE支持字符类的POSIX表示法[:cntrl:]

$json = preg_replace('/[[:cntrl:]]/', '', $json);
$json = json_decode($json, true);
var_dump($json);
echo json_last_error_msg();


 类似资料:
  • 场景:用于编辑产品详细信息的HTML文档被编码为ISO-8859-1,并将POST数据发送到PHP文件(也被编码为ISO-8859-1)。这个PHP文件有mysql_real_escape_string-functions来清理输入。数据库/MySQL server字符集为UTF-8。问题是,当POST字符串中包含斯堪的纳维亚字母(ä,ö,å)时,mysql_real_escape_string返

  • 问题内容: 由于某种原因,“描述”项将返回以下代码: 这是我的数据库的架构: 这是页面上呼应的内容: 有任何想法吗? 问题答案: 我敢打赌,您正在以非utf8编码检索数据:请尝试在查询之前输入。

  • 问题内容: Array ( [sEcho] => 1 [iTotalRecords] => 7521 [iTotalDisplayRecords] => 1 [aaData] => Array ( [0] => Array ( [0] => Nordic Capital Buys SiC Processing [1] => 2010-06-21/nordic-capital-buys-sic-pr

  • 以下模式在可选对象中包含非空字段(整个对象允许为空)。它定义了一个父对象的列表,这些父对象具有可选字段“孩子”——一些父对象允许具有空“孩子”。 以下GraphQL查询返回预期的父对象列表(其中一些具有null子值)。但它也返回附加到结果的错误。这是GraphQL(孩子是可选的)中的错误吗?还是预期行为?

  • 问题内容: 以下代码似乎不起作用,即使该文件看起来很好也是如此。 在此先感谢您的帮助。 编辑:结果是我试图去Graphics.drawImage(images [0]);,它给了我一个空指针异常。这段代码可以很好地完成。 编辑:更改按建议移动if(!file.exists()),并将文件包装在输入流中。 问题答案: ImageIO.read(file); 如果找不到注册的 ImageReader,

  • 问题内容: 我正在使用接受json响应的jquery ajax调用: 在我的php后端函数中,我在一个简单的数组上使用json_encode,如下所示: 但是 alert(msg.hello) 为我返回 未定义 。这是怎么了?另外,在我的 console.log中, 我能够得到如下输出: 问题答案: 使用的返回数据: