問題タブ [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.

0 投票する
1 に答える
1214 参照

symfony - JmsSerializerはSonataUserのパスワードフィールドを除外します

シリアル化されたオブジェクトのいくつか (特にパスワード) フィールドを除外したいと思います。

私は以下と関係のあるオブジェクトを持っています:Application\Sonata\UserBundle\Entity\User

そのオブジェクトをシリアル化すると、ユーザーは次のようになります。

パスワードとソルト フィールドを削除するにはどうすればよいですか?

次の場所の構成ファイルを変更しようとしましたApplication/Sonata/UserBundle/Resources/config/serializer/Entity.User.xmlが、キャッシュをクリアしたにもかかわらず、その構成を使用していないようです...

0 投票する
1 に答える
2618 参照

php - Doctrine エンティティが JMS シリアライザーでシリアライズされない

JMS シリアライザーでシリアル化しないエンティティが 1 つあります。空白の画面だけでエラーはスローされません。関連エンティティのいずれかでこのエンティティを公開すると、空白のページで応答します。私はこれを1日以上突っついてきましたが、かなりイライラしています。エンティティーがシリアライズされないようにするものは何ですか? JMS シリアライザー? これがエンティティのスニペットです。ここで私を助けてくれる人には、要求された資料を提供できます。

0 投票する
1 に答える
794 参照

php - JMS シリアライザーがシリアライゼーション ループを処理できない

昨夜、Web アプリが停止し、白い画面がユーザーに返されました。根本的なケースを見つけるのにそれほど時間はかかりませんでした:PHPメモリが不足していました。

JMS Serializer問題を追跡した後、シリアル化ループの処理に失敗したと結論付けました。

オブジェクト(リスト)ProductGroupの数を持つクラスがあります。Productここで、それぞれProductが所属するグループを指します。そのため、ユーザーが serialize を試みるとProductGroup、それが実行され、(シリアル化されたばかりの)Productにジャンプして戻ると、それぞれがシリアルProductGroup化され、効果的にシリアル化ループが作成されます。

私はそれを修正することができましたが、プロパティを付け@ExcludeましProduct::groupた。

ですから、問題は次のとおりです。シリアル化に関して別のオプションはありますか? JMS Serializerループを理解できない可能性はありますか?

0 投票する
1 に答える
585 参照

php - JMSSerializer と継承クラス

JMS シリアライザーと継承クラスに問題があります。エンティティをシリアル化すると、継承クラスのために JMSSerializer アノテーションが処理されません...では、クラス継承で JMSSerializer アノテーションを設定するにはどうすればよいですか?

例 :

カテゴリをシリアル化すると、返される json は :[{"dishs":[{"name":"Salade","id":5}],"name":"...","id":1 のようになります}]。ExclusionPolicy アノテーションは適用されません。

理由はありますか?すべてのフィールドを同じエンティティに設定するとうまくいきますが、すべてのテンプレートが壊れます...

ありがとう

0 投票する
0 に答える
801 参照

php - 複数のタイプを使用した JMS シリアライザーのデシリアライズ

多くの場合、API を使用する場合、応答には配列または文字列 (または 2 つの異なる型) の json が含まれます。私は、JMS Serializer でこれらのケースを処理する方法を見つけるのに苦労しています。

シリアル化を処理するために 2 つの異なるプロパティを設定できることがわかりました@SerializedName(null をシリアル化せず、1 つだけが設定されている場合)。ただし、これは逆シリアル化で壊れます。

0 投票する
4 に答える
1800 参照

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 アノテーションはまだ失敗しています。

ありがとう。