如何在RAILS中使用参数访问JSON数组

2 json ruby-on-rails ruby-on-rails-4

对于RAILS中的API,我想访问JSON数组以进行某些操作并将其保存在数组中。

像这样的东西:JSON [{"consumption":2.3e-06,"date":"00:15"},{"consumption":1.3e-06,"date":"00:30"}]

此JSON是从curl控制器发送的,并且我想执行以下操作:

a[0] = params[0][:consumption]
Run Code Online (Sandbox Code Playgroud)

这里0应该是不同的(0,1,2 ...)以访问我的JSON数组中的不同位置。(1个消耗,2个消耗等)

但是我不知道如何用 params

你能帮忙的话,我会很高兴。

dja*_*ski 6

您将无法以期望的方式访问此JSON数组params[0]

第一- params目的是对发送到服务器的数据的包装器(它也保持电流控制器/动作名称)。您必须将JSON数组包装在要在服务器上访问它的名称参数中。例如,您可以发布数据,并且有效负载可能看起来是:{consumption_data:array_from_your_post}。

然后,可以通过调用params[:consumption_data]控制器来访问此数组。然后数组的第一项,params[:consumption_data][0]依此类推。

如何通过curl发送json?

curl -H "Content-Type: application/json" -X POST -d '{"consumption_data": [here_put_your_items]}' http://localhost:3000/action_name
Run Code Online (Sandbox Code Playgroud)