是否可以使用 java 应用程序将 JSON 对象传递到 RabbitMQ 队列?
Is it possible to pass JSON object to the RabbitMQ queue using java application?
我想将 JSON 对象传递给 RabbitMQ 队列。
在下面的代码中,我使用 obj.toJSONString().getBytes()
将 Json 对象转换为字符串,是否可以在队列中传递 JSON 对象而不是作为字符串传递。
JSONObject obj = new JSONObject();
obj.put("Transaction","Test value");
channel.basicPublish("", queueName, null, obj.toJSONString().getBytes());
System.out.println(" [x] Sent '" + obj.toJSONString() + "'");
不 这不可能
在 Rabbit MQ 中,如果对象类型实现了 Serializable 接口,则可以传递对象。
还有另一种编写方法是使用 apache-commons jar 序列化您的对象:
SerializationUtils.serialize(obj);
这家伙会将对象序列化为字节数组进行存储。
我们只能将数据作为字节发送到 rabbitmq 队列。所以我们必须将 json 对象转换为字符串。在您的代码片段中,您已使用代码 - obj.toJSONString().getBytes()
完成。这是正确的做法。
Rabbit MQ 可以传递实现了 Serializable 接口的对象。
public class obj 实现 Serializable {
...你的目标代码在这里
}
我想将 JSON 对象传递给 RabbitMQ 队列。
在下面的代码中,我使用 obj.toJSONString().getBytes()
将 Json 对象转换为字符串,是否可以在队列中传递 JSON 对象而不是作为字符串传递。
JSONObject obj = new JSONObject();
obj.put("Transaction","Test value");
channel.basicPublish("", queueName, null, obj.toJSONString().getBytes());
System.out.println(" [x] Sent '" + obj.toJSONString() + "'");
不 这不可能 在 Rabbit MQ 中,如果对象类型实现了 Serializable 接口,则可以传递对象。
还有另一种编写方法是使用 apache-commons jar 序列化您的对象:
SerializationUtils.serialize(obj);
这家伙会将对象序列化为字节数组进行存储。
我们只能将数据作为字节发送到 rabbitmq 队列。所以我们必须将 json 对象转换为字符串。在您的代码片段中,您已使用代码 - obj.toJSONString().getBytes()
完成。这是正确的做法。
Rabbit MQ 可以传递实现了 Serializable 接口的对象。
public class obj 实现 Serializable { ...你的目标代码在这里 }