使用flightphp创建Json
我有一个问题,我必须使用使用flightphp创建Json,php,json,flightphp,Php,Json,Flightphp,我有一个问题,我必须使用Flight::JSON创建JSON。 我有一个名为$data的数组,它包含如下元素 $data[] = array('id'=>$temp,'type'=>'remote','url'=>$path); 其中,$id和$path具有如下不同的值: [id] => http://desktop-pqb3a65:8080/marmotta/resource/22086372-476f-4974-b538-64019ab678b3 [url] =
Flight::JSON
创建JSON。
我有一个名为$data
的数组,它包含如下元素
$data[] = array('id'=>$temp,'type'=>'remote','url'=>$path);
其中,$id和$path具有如下不同的值:
[id] => http://desktop-pqb3a65:8080/marmotta/resource/22086372-476f-4974-b538-64019ab678b3
[url] => D:\Software\Marmotta\marmotta-home\resources\1d\4d\ea\1d4dea13-f8e6-4cf0-b96a-f88b08efda2b
Flight::map('jsonc', function($obj, $status = 200) {
Flight::response()
->status($status)
->header('Content-Type', 'application/javascript')
->write(utf8_decode(json_encode($obj, JSON_UNESCAPED_SLASHES)))
->send();
});
当我尝试使用以下方法在JSON中转换时:
Flight::json($data);
我的PHP页面将返回以下格式:
{"id":"http:\/\/desktop-pqb3a65:8080\/marmotta\/resource\/22086372-476f-4974-b538-64019ab678b3","type":"remote","url":"D:\\Software\\Marmotta\\marmotta-home\\resources\\1d\\4d\\ea\\1d4dea13-f8e6-4cf0-b96a-f88b08efda2b"}
我阅读了文档,并尝试使用另一个函数进行转换:
Flight::json($data, $code = 200, $encode = false, $charset = 'utf-8');
但它会返回一个错误,如:
500 Internal Server Error
Array to string conversion (8)
因此,您能否帮助我转换$data
,而不出现此类错误?我必须使用Flight
转换我的数组
谢谢大家的帮助
编辑
我通过创建如下函数来解决问题:
[id] => http://desktop-pqb3a65:8080/marmotta/resource/22086372-476f-4974-b538-64019ab678b3
[url] => D:\Software\Marmotta\marmotta-home\resources\1d\4d\ea\1d4dea13-f8e6-4cf0-b96a-f88b08efda2b
Flight::map('jsonc', function($obj, $status = 200) {
Flight::response()
->status($status)
->header('Content-Type', 'application/javascript')
->write(utf8_decode(json_encode($obj, JSON_UNESCAPED_SLASHES)))
->send();
});
如果您想要不带scaped的斜杠,我相信您可以将其作为名为
$option
的第五个函数参数传递,请参阅
如果您想要不带scaped的斜杠,我相信您可以将其作为名为
$option
的第五个函数参数传递,请参阅