我有一个订阅了 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 不转义双引号?