Slim Frameworkを使用してJSON形式の結果を返すIm既にフォーマットされたJSON - Slim Frameworkを返す
$app->get('/forecast_range/{latitude}/{longitude}/{timeStart}/{timeEnd}', function (Request $request, Response $response) {
$latitude = $request->getAttribute('latitude');
$longitude = $request->getAttribute('longitude');
$timeStart = $request->getAttribute('timeStart');
$timeEnd = $request->getAttribute('timeEnd');
$timeStart = new DateTime($timeStart);
$timeEnd = new DateTime($timeEnd);
$coordinates[] = array('latitude' => $latitude, 'longitude' => $longitude);
$forecast = new forecast_range_url($coordinates, 1, $timeStart, $timeEnd);
$result = $forecast->runForecast(true);
return $response->withJson($result);
});
$result
変数はすでにJSON、多次元1あります。どのように私はクライアントに$結果変数を再度エンコードせずに返すことができますか?
このコードを使用して$result
keysJSONをレスポンスに追加しようとしています。私は近いうちに感じるが、まだ。構文エラーが表示されます。
$lenght = count($result);
for ($i=0; $i<$lenght; $i++){
$response->write($result[$i]);
}
$newResponse = $response->withHeader(
'Content-type',
'application/json; charset=utf-8'
);
return $newResponse;
ああ:
これは私がして来たものです。それは私が置いた場合に働きます return $ response-> write($ result [0]) - > withHeader( 'Content-Type'、 'application/json'); 既にフォーマットされたjsonを返しますが、セット全体を返しません。 :/ –
おそらく、jsonをループしてwriteメソッドのparamとして送信する必要があります。そのためには、デコードしてから再度エンコードする必要があります。:/私は正しいのですか? –
はい。 ($ i = 0; $ i <$ lenght; $ i ++){ $ response-> write($ result [$ i])のためにあなたはそれをする必要があります;( – geggleto