JSON_PARSING_ERROR:位置1处的意外字符(t)

时间:2016-10-13 18:11:28

标签: ruby-on-rails json ruby curl

我在ROR中有一个方法:

params = "{'to':'#{registration_ids}','notification':{'body':'#{message}'} 'priority':'10'}"

system("curl -X POST --header 'Authorization: key=MY_KEY' --Header 'Content-Type: application/json' https://fcm.googleapis.com/fcm/send -d '#{params}'")

我收到消息:JSON_PARSING_ERROR:位置1的意外字符(t)

1 个答案:

答案 0 :(得分:1)

您的JSON无效 - 我建议将来使用jsonlint

require 'json'
params = {to: registration_ids, notification: {body: message}, priority:10}.to_json
system("curl -X POST --header 'Authorization: key=MY_KEY' --Header 'Content-Type: application/json' https://fcm.googleapis.com/fcm/send -d '#{params}'")

您在通知和优先级之间缺少,。另外json应该有双引号(参见JSON standards),你可以通过在哈希上运行.to_json方法来做到这一点......