我正在关注一些API文档,作为帖子的一部分,我需要以这种格式生成一些JSON:
{
"panelist": {
"email_address": "test@example.com",
"gender": "m",
"postal_code": "12345",
"year_of_birth": 1997,
“variables”: [1000,1001]
}
}
在Rails中生成此内容的最佳方法是什么(我没有Panelist
模型,而是大部分内容都存储在我的Appuser
模型中,因此gender
实际上是@appuser.gender
是params = {
"gender" => "m",
"postal_code" => "12345"
}
)。
过去我刚做过像
这样的事情set_form_data
然后在我的请求中http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri)
request.set_form_data(params)
response = http.request(request)
:
panelist
但to_json
内的嵌套参数让我失望。
我确实尝试使用appuser = { "panelist" => { "email" => "test@example.com", "zip" => "12345" } }
appuser.to_json
=> "{\"panelist\":{\"email\":\"test@example.com\",\"zip\":\"12345\"}}"
来执行此操作:
var textboxes = new List<TextBox>(new[] { textbox1, textbox2, textbox3 });
但似乎我或多或少只是对json进行硬编码。我想我能做到,但感觉可能会有更简单的方法。
答案 0 :(得分:1)
有一个帮助库'json',它为每个对象添加了一个'to_json'方法。只需为此添加一个require,然后调用params.to_json。