gpt4 book ai didi

java - Stomp 的 MessageMap 格式是不是完全不能用了?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:48:53 25 4
gpt4 key购买 nike

我正在将 Java 中的 MapMessages 发送到 ActiveMQ 并使用 Stomp 检索它们在 PHP 中。我的消息创建代码如下所示:

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 咒语可以减少访问这个数组的痛苦?特别是,我不能只遍历条目并构建一个关联数组,因为如果有一个字符串和 int 而不是两个字符串,该数组看起来完全不同。

最佳答案

这是我想出的。有人知道更清洁的解决方案吗?

$entries = $msg->map['map'][0]['entry'];
$map = array();
foreach($entries as $entry) {
$vals = array_values($entry);
if(count($vals) == 1 && is_array($vals[0])) {
$vals = $vals[0];
}
$map[$vals[0]] = $vals[1];
}

这给了我:

array
'id' => int 42
'status' => int 42
'result' => string 'aString' (length=7)

这几乎就是我要找的东西,但到达那里的代码似乎很脆弱。

关于java - Stomp 的 MessageMap 格式是不是完全不能用了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2998933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com