4
我是新来的Ruby on Rails的,并试图简单地测试,如果我可以简单地做类似下面从我的控制器:使用Ruby on Rails的发送HTTP请求
卷曲-v -H“内容类型: application/json“-X GET -d”{bbrequest:BBTest reqid:44 data:{name:“test”}}“http://localhost:8099
在您的HTTP请求中发送JSON的最佳做法是什么?
感谢
当我使用以下命令向服务器发送HTTP请求时:curl -v -H“Content-Type:application/json”-X GET -d“{”bbrequest“:”BBTest“,”reqid“:”44“, “data”:{“name”:“test”}}“http:// localhost:8099 ...我的服务器将JSON数据视为”{bbrequest:BBTest,reqid:44,data:{name:test}}“ 当我使用您建议的代码发送请求时,它将其视为“{\”bbrequest \“:\”BBTest \“,\”reqid \“:\”44 \“,\”data \“:{ \“name \”:\“ 测试\”}}“和服务器无法解析它,也许有一些额外的选项,我需要设置从红宝石发送请求以排除这些额外的字符?你能帮忙吗? 在此先感谢。 –
这是因为将散列转换为json格式。你将不得不解码它。例如。 '{“a”=>“b”}。to_json'给你'“{\”a \“:\”b \“}”'和'ActiveSupport :: JSON.decode(“{\”a \“: \“b \”}“)'给你'{”a“=>”b“}'。 – David