gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 00:12:04 24 4
gpt4 key购买 nike

我正在为我的 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/

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