0
私はオブジェクトの配列を持っており、JSONとしてクライアントのブラウザに戻したいと思います。次のようにJSONに配列を解析するZF2でJsonModelを使用してUniocde記号なしでJSONを返す方法は?
コードは次のようになります。この静的メソッドを使用して
public static function parse(array $data){
$parsed = array();
foreach ($data as $entity){
$reflection = new \ReflectionClass($entity);
$arrayObject = array();
foreach($reflection->getProperties() as $property){
$property->setAccessible(true);
$arrayObject[$property->getName()] = $property->getValue($entity);
$property->setAccessible(false);
}
array_push($parsed, $arrayObject);
}
$parsed = json_encode($parsed);
return $parsed;
}
I'am、単純な配列にオブジェクトをキャストするためproportiesがパブリックでない場合、私にはnullバイトのキーを提供します。これまではすべてが問題なく、JsonModelで解析された配列を返そうとしています。
return new JsonModel(
array(
'data' => ObjectToJsonParser::parse($match)
));
Firebugでは、正しいJSON応答を受信しますが、コンテンツにはUnicode記号が含まれています。
これらのUnicode記号がないとJSONを正しく返すにはどうすればよいですか?
、私の解析機能が正しくデータを返します(テストwithuout:
そして、あなたは
JsonModel
を使用せずに応答を返すために、これを使用することもできます。ただ、このような– czeski
'$ this-> getResponse() - > setContent()'を使ってJsonを返そうとしています。Seeを参照してください。See see JsonModel。私の編集 – blackbishop
I diあなたが言っているように、さらにcontent-typeをapplication/jsonに設定するといいです。それは問題ありません。しかし、私は、何らかの理由で返されたJsonModelが適切に動作するように設定することが可能であることを知りたいですか? – czeski