問題タブ [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.
json - オブジェクトのクラス名をJMSSerializeのシリアル化されたjsonのインデックスとして追加するにはどうすればよいですか
次のような単純なクラスがあります。
新しいオブジェクトを次のようにシリアライズすると:
私は次のようなものを取得します:
代わりにこれを使用できるかどうか疑問に思います(編集:同じ文字列を逆シリアル化できるようにする):
ありがとう
php - クラスへの Symfony2 JMS シリアライザー バンドルを使用して JSON 応答を解析する
Symfony2 には、Address エンティティと AddressList エンティティがあります。AddressList エンティティは、Address エンティティのコレクションを作成します。AddressList エンティティにマップする必要がある JSON 応答があります。
次のように JMS シリアライザーを使用してマップすると、AddressList は常に null を返します。
これで、ルート レベルでキー (アドレス) を JSON 応答に追加すると、応答オブジェクトでそのキーにマップできるため、正常に動作することがわかりました。
しかし、以下に示すように、孤立したオブジェクトの配列で動作するようにします。
ありがとうございました!
JSON 応答:
これが Address エンティティです。
上記の Address エンティティを集めた AddressList エンティティです。
php - JSON、不正な形式の UTF-8 文字 (正しくエンコードされていませんか?) をデコードできませんでした - 予期しない PHP の動作
JMSシリアライザーを介した REST 要求のデシリアライズは、 「JSON をデコードできませんでした。不正な形式の UTF-8 文字 (正しくエンコードされていませんか?)」という例外で終了しました。この例外は、PHP 関数json_las_errorがJSON_ERROR_UTF8値を返す場合に発生します。原因 (整形式の UTF-8、BOM など) の検索に何時間も費やしましたが、成功しませんでした。UTF-8 は適切に定義されていました。次に、JMS シリアライザーのコードを変更してみました。
次のように (json_last_error は switch ステートメントに直接含まれていません):
この変更の後、デシリアライゼーションは正常に終了しました。この動作の説明はありますか? PHPのバグですか?ありがとう。
php - Fos Rest ビューの応答
私が使う
応答にキリル語の単語が含まれている場合、次のような応答を返します。
エラーが発生します:
$response
は配列ですが、ノルムサムホル$rest = substr("abcdef", -1);
を使用し$shortName = $entity->getFirstName() . ($last ? ' ' . ' ' . preg_replace("/^([a-zа-я]).*$/isu", "$1", trim($last)) . '.' : '');
てエラーなしで応答すると、シンボルホルが悪いという問題が見つかりました。なぜこれが起こるのか理解できません。