Strophe和JSON消息

时间:2012-03-14 13:01:47

标签: json escaping xmpp strophe

我在使用strophe向其他xmpp用户发送简单的json消息时遇到问题。创建消息的命令:

var json_stringified_msg = '{"type":"ola"}';

var reply = $msg({to: this.m_user, from: this.jid_connection, type: 'chat'}).c("body").t(json_stringified_msg);

connection.send(reply.tree());

问题是客户在聊天中收到的另一方面: {“ACTION”quot; CHANGE_MODE“,”MODE“quot; KEYBOARD”}

由于它是一个封闭的客户,我不能从另一方面进行unescape。

如何将json消息准确发送到另一方?

感谢您的帮助。

最好的问候

2 个答案:

答案 0 :(得分:1)

RFC6121声明:

该元素包含人类可读的XML字符数据,用于指定消息的文本内容。

并且还声明:

元素不得包含混合内容(如[XML]第3.2.2节中所定义)。

我不认为你的JSON会变成一个字符串。

您可以在此处阅读:http://xmpp.org/rfcs/rfc6121.html#message-syntax-body

答案 1 :(得分:0)

我修改了strophe.js:

t: function (text)
{
    //var child = Strophe.xmlTextNode(text);
    var child = Strophe.xmlGenerator().createTextNode(text);
    this.node.appendChild(child);
    return this;
}

它对我来说很好。