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

时间:2015-05-23 17:31:07

标签: ruby-on-rails json 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]

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

但我不知道如何使用params

进行管理

任何帮助都会很好。

1 个答案:

答案 0 :(得分:4)

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

first - params对象是发送到服务器的数据的包装器(它还保留当前控制器/操作名称)。您必须将JSON数组包装在您希望在服务器上访问它的名称参数中。 例如,您可以POST数据,有效负载可能看起来像:{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