对于我在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
任何帮助都会很好。
答案 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