json - 如何在 Node js 中反序列化代理消息的正文?

标签 json node.js azure json.net azureservicebus

我正在为我的 Windows Azure 项目在 Node JS (socketio.js) 中实现 socket.io 服务器。我的辅助角色是c#。并通过服务总线队列将代理消息从辅助角色发送到 socketio.js。但是通过代理消息发送的对象没有序列化为 json 对象。我不知道如何在 Node js 中访问此代理消息的正文。

我可以展示如何在辅助角色中发送代理消息以及如何在 Node js 脚本中接收它。

代理消息的响应正文(即message.body)

@rrayOfTestModelHhttp://schemas.datacontract.org/2004/07/Project.Model     ☺i)http://www.w3.org/2001/XMLSchema-instance☺

TestModel 是通过代理消息正文发送的对象模型的名称。

worker 角色:

 BrokeredMessage socketioMessage = new BrokeredMessage(messageObject);
            WorkerRoleClient.Send(socketioMessage );

Node Js 脚本:

serviceBusService.receiveQueueMessage(queue, function (error, receivedMessage) {
    if (!error) {
        console.log(receivedMessage);
        if (receivedMessage != null) {
            var messageBody = receivedMessage.body;
            console.log(messageBody);       

            io.sockets.emit('news', messageBody);
}}

我在这里收到的消息正文是一些简单的不可读的字符串。我正在从 worker 角色发送适当的对象。如果你们中有人知道出了什么问题,请告诉我

谢谢

最佳答案

我终于找到了一种反序列化并获取 json 对象的方法。

C# 中的辅助角色

var recordsMessage = Newtonsoft.Json.JsonConvert.SerializeObject(data);
BrokeredMessage socketMessage = new BrokeredMessage(recordsMessage);

在Node js中接收:

if (receivedMessage != null) {
            var messageBody = receivedMessage.body;

            var jsonString = messageBody.substring(messageBody.indexOf('['), messageBody.indexOf("]")+1);                

            var recordsQueue = JSON.parse(jsonString);
}

希望这对某人有帮助

关于json - 如何在 Node js 中反序列化代理消息的正文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15275496/

相关文章:

c# - Azure 配置设置和 Microsoft.WindowsAzure.CloudConfigurationManager

iphone - 使用 Asihttprequest 和 iphone 的 Json 框架解析 JSON 数据

java - 将 JsonArray 添加到 JsonObject 生成的转义字符(gson)

javascript - 程序错误时完成外部模块中的写入流

javascript - peer dependencies 和 plugins 到底是什么

python - docker运行时错误: Failed to initialize platform (azure-c-shared).错误:2153

c# - 如何正确测试为非空响应返回 json 的 API Controller ?

json - Ansible:如何在 JSON 中打印数字而不是字符串 - 模块 uri

javascript - node.js:雅虎天气的 jQuery 插件不打印数据

azure - 应如何使 Azure 资源管理器 JSON 与 Azure 门户保持一致?