【发布时间】:2017-03-15 21:34:51
【问题描述】:
我从我的 CakePHP 项目中的 JSON 文件中检索 JSON 数据。应用主要通过 JSON 接收数据。
我目前在 CakePHP 中有一个模型(Table Model),如下:
namespace App\Model\Table;
use Cake\ORM\Table;
use Cake\Filesystem\File;
use Cake\Validation\Validator;
class DataTable extends Table
{
public function getJson()
{
$file = new File('data.json');
$json = $file->read(true, 'r');
$jsonstd = json_decode($json);
// remove STD classes
$json2array = json_decode(json_encode($jsonstd), true);
// return data
return $json2array;
}
}
如您所见,我们仍然使用 CakePHP 的 ORM,而我们只是从 JSON 文件中检索数据。如何制作基于检索 JSON 数据的独立 CakePHP 模型(不使用具有数据库连接目的的 CakePHP 的 ORM)。
【问题讨论】:
-
题外话:这种双重解码逻辑似乎是多余的,只需在第一次调用时将数据解码为数组即可。
-
那是因为我想从数组中删除 STD 类。
-
是的,您应该可以通过在第一次解码调用中立即将
true传递给$assoc参数来实现这一点。
标签: php json cakephp cakephp-3.0