findallを使用してsymfonyで読み取ったデータをjsonに変換する方法
Jun 20, 2016 pm 12:43 PM
$repository = $this->getDoctrine()->getRepository('AppBundle:User');$all = $repository->findAll();
ログイン後にコピー
array (size=2) 0 => object(AppBundle\Entity\User)[248] private 'id' => int 1 private 'name' => string 'A Foo Bar' (length=9) private 'pass' => string '19.99' (length=5) 1 => object(AppBundle\Entity\User)[251] private 'id' => int 2 private 'name' => string 'Two Fot Bar' (length=11) private 'pass' => string '40.00' (length=5)
ログイン後にコピー
返されたデータは次のようになります。これを JSON データに変換する方法を説明します。
今回は return new JsonResponse($all); を使用します。 [ {}]
ディスカッションへの返信 (解決策)
[{"id":1,"name":"a","pass":"p"},{"id":2 など) AppBundleEntityUser の JsonSerializable インターフェイス
class T implements JsonSerializable { private $id; private $name; private $pass; function __construct($id, $name, $pass) { $this->id = $id; $this->name = $name; $this->pass = $pass; } function jsonSerialize() { return array( 'id' => $this->id, 'name' => $this->name, 'pass' => $this->pass, ); }}$d[] = new T(1, 'a', 'p');$d[] = new T(2, 'b', 'p');echo json_encode($d);
ログイン後にコピー
ログイン後にコピー
それ以外の場合は [{},{}] のみです
返される属性はプライベートであるため
AppBundleEntityUser に、
[{"id":1,"name":"a","pass":"p"},{"id":2, "name":"b" ,"pass":"p"}]
class T implements JsonSerializable { private $id; private $name; private $pass; function __construct($id, $name, $pass) { $this->id = $id; $this->name = $name; $this->pass = $pass; } function jsonSerialize() { return array( 'id' => $this->id, 'name' => $this->name, 'pass' => $this->pass, ); }}$d[] = new T(1, 'a', 'p');$d[] = new T(2, 'b', 'p');echo json_encode($d);
ログイン後にコピー
ログイン後にコピー
返された属性はプライベートであるため
属性はプライベートなので、ありがとうございます。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

人気の記事
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
1週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD

人気の記事
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
1週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7297
9


Java チュートリアル
1622
14


CakePHP チュートリアル
1342
46


Laravel チュートリアル
1259
25


PHP チュートリアル
1206
29



LaravelのバックエンドでReactアプリを構築する:パート2、React
