問題タブ [jms-serializer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
symfony - JmsSerializerはSonataUserのパスワードフィールドを除外します
シリアル化されたオブジェクトのいくつか (特にパスワード) フィールドを除外したいと思います。
私は以下と関係のあるオブジェクトを持っています:Application\Sonata\UserBundle\Entity\User
そのオブジェクトをシリアル化すると、ユーザーは次のようになります。
パスワードとソルト フィールドを削除するにはどうすればよいですか?
次の場所の構成ファイルを変更しようとしましたApplication/Sonata/UserBundle/Resources/config/serializer/Entity.User.xml
が、キャッシュをクリアしたにもかかわらず、その構成を使用していないようです...
php - Doctrine エンティティが JMS シリアライザーでシリアライズされない
JMS シリアライザーでシリアル化しないエンティティが 1 つあります。空白の画面だけでエラーはスローされません。関連エンティティのいずれかでこのエンティティを公開すると、空白のページで応答します。私はこれを1日以上突っついてきましたが、かなりイライラしています。エンティティーがシリアライズされないようにするものは何ですか? JMS シリアライザー? これがエンティティのスニペットです。ここで私を助けてくれる人には、要求された資料を提供できます。
php - JMS シリアライザーがシリアライゼーション ループを処理できない
昨夜、Web アプリが停止し、白い画面がユーザーに返されました。根本的なケースを見つけるのにそれほど時間はかかりませんでした:PHP
メモリが不足していました。
JMS Serializer
問題を追跡した後、シリアル化ループの処理に失敗したと結論付けました。
オブジェクト(リスト)ProductGroup
の数を持つクラスがあります。Product
ここで、それぞれProduct
が所属するグループを指します。そのため、ユーザーが serialize を試みるとProductGroup
、それが実行され、(シリアル化されたばかりの)Product
にジャンプして戻ると、それぞれがシリアルProductGroup
化され、効果的にシリアル化ループが作成されます。
私はそれを修正することができましたが、プロパティを付け@Exclude
ましProduct::group
た。
ですから、問題は次のとおりです。シリアル化に関して別のオプションはありますか? JMS Serializer
ループを理解できない可能性はありますか?
php - JMSSerializer と継承クラス
JMS シリアライザーと継承クラスに問題があります。エンティティをシリアル化すると、継承クラスのために JMSSerializer アノテーションが処理されません...では、クラス継承で JMSSerializer アノテーションを設定するにはどうすればよいですか?
例 :
カテゴリをシリアル化すると、返される json は :[{"dishs":[{"name":"Salade","id":5}],"name":"...","id":1 のようになります}]。ExclusionPolicy アノテーションは適用されません。
理由はありますか?すべてのフィールドを同じエンティティに設定するとうまくいきますが、すべてのテンプレートが壊れます...
ありがとう
php - 複数のタイプを使用した JMS シリアライザーのデシリアライズ
多くの場合、API を使用する場合、応答には配列または文字列 (または 2 つの異なる型) の json が含まれます。私は、JMS Serializer でこれらのケースを処理する方法を見つけるのに苦労しています。
シリアル化を処理するために 2 つの異なるプロパティを設定できることがわかりました@SerializedName
(null をシリアル化せず、1 つだけが設定されている場合)。ただし、これは逆シリアル化で壊れます。
php - Symfony2 - JMS シリアライザーのアノテーションを自動ロードできない
symfony アプリで JMSSerializer アノテーションを自動ロードする際に問題が発生しています。私たちは得ています:
[Semantical Error] The annotation "@JMS\Serializer\Annotation\XMLRoot" in class Class\Namespace\ClassName does not exist, or could not be auto-loaded.
標準の symfony/composer オートローダーを使用し、"jms/serializer-bundle": "~1.0"
composer.json で必要とし、バンドルを AppKernel に含めます。他のアノテーション (symfony ルートアノテーションなど) は正しく機能します。
app_dev.php を次のように変更して、jms シリアライザー アノテーションを強制的にロードしようとしました。
AnnotationRegistery::...
呼び出しのいくつかのバリエーションを試しました。AnnotationRegistry::registerFile("/srv/httpd/project/vendor/jms/serializer/src/JMS/Serializer/Annotation/XmlRoot.php");
XmlRoot アノテーションは正しく登録されているようですが、他の JMS アノテーションはまだ失敗しています。
ありがとう。