我试图从我的接收器向我的发送者发送一个数组但是当我尝试它时会将它变成一个字符串。
我有代码:
messageBus = window.castReceiverManager.getCastMessageBus(namespace, cast.receiver.CastMessageBus.MessageType.JSON);
和
messageBus.send(senderId, ["test", "test2"]);
在我的收件人和发件人中:
session.addMessageListener(namespace, function (ns, message) {
console.log(message);
console.log(typeof(message));
});
我的控制台中的输出是:
["test","test2"]
string
如何将数组发送给我的发件人?
答案 0 :(得分:0)
默认情况下,您无法发送数组;您可以发送字符串或JSON数据包。如果您想要发送数组,则必须为messageBus定义自己的序列化器和反序列化器,以便将消息保存为数组。为避免这样做,您可以发送JSON数据包:
messageBus.send(senderId, {"msg": ["test", "test2"]});
然后,在发送方上,您可以以类似于数组的方式使用对象的message.msg部分(甚至将其转换为数组)。