我是cakephp的新手。我试图将json输出保存为webroot中的文件。我也想把文件读成数组。
我知道我们可以使用json_encode($ array)将数组作为json对象输出。但我无法创建并将json文件读入数组。
我感谢任何帮助。
答案 0 :(得分:9)
//write
$json = '{"key":"value"}';
$file = new File('/path/to/file', true);
$file->write($json);
//read
$file = new File('/path/to/file');
$json = $file->read(true, 'r');
$json2array = json_decode($json);
答案 1 :(得分:3)
注意:此代码属于模型或控制器中的方法。
尽管cetver的答案在技术上是正确的,但它不是很好的" cakey"。
对于CakePHP,我会做以下事情:
$json = '{"key":"value"}';
$json2 = json_encode(array("a" => 1, "b" => 2));
$path = APP . '[YOUR FOLDER NAME]' . DS . 'json';
$path2 = APP . '[YOUR FOLDER NAME]' . DS . 'json2';
$jsonFromFile;
$json2FromFile;
//write
if(!file_exists($path))
file_put_contents($path, $json);
if(!file_exists($path2))
file_put_contents($path2, $json2);
//read
if(!file_exists($path))
$jsonFromFile = file_get_contents($path, true);
if(!file_exists($path2))
$json2FromFile = file_get_contents($path2, true);
说明:
快乐的编码。