似乎无法找到解决方案,我想从像这样的视图变量中加载json数据
$this->json = $this->load->view('/jsonfiles/page.json','',true);
对外输出
var_dump(json_decode($this->json,true));
= NULL
View似乎正在错误地渲染.json文件,因为json_decode失败了。 (也许不是错误,但格式不同),我已经尝试过utf8_encode,没有运气
page.json中的JSON变量
[
{
"page" : {
"name" : "PageNameHere",
"date" : true
}
}
]
或者有替代方法吗?
UPDATE :是的,当它在变量中的实际字符串时可以正常工作
$this->json = '[{"page":{"name":"PageNameHere","date":true}}]';
var_dump(json_decode($this->json,true));
解决方案:所以我决定把它弄清楚,并且由于我的错误,我的JSON的最后一部分中有一个“,”逗号,这不在此主题中,我缩短了主题的JSON,但我发现它,使用这个整洁的错误开关,能够找到JSON渲染错误
switch (json_last_error()) {
case JSON_ERROR_NONE:
echo ' - No errors';
break;
case JSON_ERROR_DEPTH:
echo ' - Maximum stack depth exceeded';
break;
case JSON_ERROR_STATE_MISMATCH:
echo ' - Underflow or the modes mismatch';
break;
case JSON_ERROR_CTRL_CHAR:
echo ' - Unexpected control character found';
break;
case JSON_ERROR_SYNTAX:
echo ' - Syntax error, malformed JSON';
break;
case JSON_ERROR_UTF8:
echo ' - Malformed UTF-8 characters, possibly incorrectly encoded';
break;
default:
echo ' - Unknown error';
break;
}
我的问题被标记为“语法错误,格式错误的JSON ”