簡體   English   中英

SQS - 使用 JSONObject 發送有效負載推送空對象

[英]SQS - Sending payload with JSONObject push empty objects

我正在測試 AWS SDK (org.springframework.cloud:spring-cloud-starter-aws-messaging:2.2.6.RELEASE) 接受的不同負載結構。 我正在使用 QueueMessagingTemplate 提供的 convertAndSend function 發送消息。 我能夠使用字符串有效負載或自定義 java object 成功發送它。但是,當我將自定義 java object 轉換為 JSONObject,並將 JSONObject 推送到 SQS 時,似乎被推送的 messageBody 是 {empty:true} . 當我用 jsonObject.toString() 發送它時,它運行良好。 我對為什么 convertAndSend 適用於自定義 java 類/對象但不適用於 JSONObject 類型感到困惑。

下面是關於我如何進行 JSON 轉換的示例代碼:

public JSONObject toJson() throws Exception {
    JSONObject json = new JSONObject();
    json.put("payload", this.payload);
    json.put("id", this.taskId);
    return json;
}

SQS 只允許消息內容為 JSON 格式的字符串。 JSONObject 是一個 Java object。要將其轉換為 JSON 格式的字符串,您的方法需要如下所示:

public String toJson() throws Exception {
    JSONObject json = new JSONObject();
    json.put("payload", this.payload);
    json.put("id", this.taskId);
    return json.toString();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM