小编use*_*257的帖子

使用 Ruby SDK 从 SNS 接收消息时的 AWS SQS JSON 格式

我有一个订阅了 SNS 主题的 SQS 队列。当我向该主题发布新通知时,我使用以下代码(在 Sinatra 应用程序中):

jsonMessage =  {
    "announcement" => {     
        "first_name" => results['first_name'][:s],  
                        "last_name" => results['last_name'][:s],
                        "loc_code" => results['location'][:s], 
                        "note" => params['note_content']
    }
}

msgid = @announcments_topic.publish(jsonMessage.to_json, 
                                    {subject: "Note Created",
                                     message_structure: 'json' })
Run Code Online (Sandbox Code Playgroud)

当我的队列侦听器收到此通知时,相应散列的消息部分如下所示:

"Message"=>"{\"announcement\":{\"first_name\":\"Eve\",\"last_name\":\"Salt\",\"loc_code\":\"Location\",\"note\":\"test\"}}"
Run Code Online (Sandbox Code Playgroud)

在我的队列侦听器中,我想使用这个哈希,但是当我尝试使用

JSON.parse(result['Message'])
Run Code Online (Sandbox Code Playgroud)

由于转义的双引号,我收到了意外的令牌错误。关于如何解决这个问题的任何建议?我没有以 JSON 格式正确发送我的通知吗?如何让 sns/sqs 不转义双引号?

ruby json amazon-sqs amazon-web-services amazon-sns

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

amazon-sns ×1

amazon-sqs ×1

amazon-web-services ×1

json ×1

ruby ×1