JavaのMapMessageをActiveMQに送信し、PHPのStompを使用して取得しています。私のメッセージ作成コードは次のようになります。
MapMessage message = session.createMapMessage();
message.setInt("id", 42);
message.setInt("status", 42);
message.setString("result", "aString");
PHPでそれらを取得すると、作成される配列は次のようになります。
Array (
[map] => Array (
[0] => Array (
[entry] => Array (
[0] => Array (
[string] => id
[int] => 42
)
[1] => Array (
[string] => status
[int] => 42
)
[2] => Array (
[string] => Array (
[0] => result
[1] => aString
)
)
)
)
)
)
私はそれで何をすべきですか?Stompに合理的な方法でシリアル化を解除するように説得する方法はありますか、それともPHPの呪文によって、この配列へのアクセスの負担が軽減されますか?特に、2つの文字列ではなく文字列と整数がある場合、配列は完全に異なって見えるため、エントリを繰り返し処理して連想配列を作成することはできません。