我有一个包含此内容的.json文件:
{ "questions": "reponse" }
我想将文件的内容解析为PHP数组,但我有一个奇怪的问题......
$path = 'myFile.json';
echo file_get_contents($path);
echo var_dump(json_decode(file_get_contents($path), true));
echo var_dump(json_decode(utf8_encode(file_get_contents($path), true)));
$json = '{ "questions": "reponse" }';
echo var_dump(json_decode($json, true));
屏幕上的结果是:
{ "questions": "reponse" }
null
null
array (size=1)
'questions' => string 'reponse' (length=7)
文件中的字符串与程序中的字符串有什么区别?
谢谢!
答案 0 :(得分:0)
尝试运行此代码:
var_dump(json_decode(trim(file_get_contents($path)), true));
我希望有一些空格(比如BOM / UTF-8标题)会造成麻烦。
答案 1 :(得分:0)
utf8_encode()
只需一个参数。你传了两个。一旦修好,它就会起作用:
{ "questions": "reponse" }
array(1) {
["questions"]=>
string(7) "reponse"
}
object(stdClass)#1 (1) {
["questions"]=>
string(7) "reponse"
}
array(1) {
["questions"]=>
string(7) "reponse"
}