Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用flightphp创建Json_Php_Json_Flightphp - Fatal编程技术网

使用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
的第五个函数参数传递,请参阅