[英]How can I iterate a JSON object in a rails controller?
我将以下数据集以 JSON 格式传递给我的控制器:
[
{id: 0, exercises: [15, 18]},
{id: 1, exercises: [33, 35]}
]
这是在我的控制器中收到的,我必须按照以下代码临时显示它:
arr = params["_json"]
binding.pry
这在 pry 控制台中为我提供了以下输出:
[3] pry(#<ProgramsController>)> arr
=> [<ActionController::Parameters {"id"=>0, "exercises"=>[16, 7, 18]} permitted: false>,
<ActionController::Parameters {"id"=>1, "exercises"=>[14, 15]} permitted: false>]
然后我可以通过 arr[0] 和 arr[1] 来迭代它,但是我如何获得这些索引中的练习呢?
所以我可以做这样的事情。
arr.each do |x|
prog = Program.create(x ...)
x.each do |exercise|
prog.exercises.create(exercise_id: exercise.id)
end
end
希望有人可以帮助我处理这些数据。 谢谢!
尝试使用 JSON.parse :)
arr = JSON.parse params["_json"]
解决方案非常简单:arr[0]["exercises"]
无需解析,谢谢 :)
在 Rails 中迭代 JSON。 尝试以下操作:
<ul>
arr.each do |a|
<li><%= a[id] %></li>
<li><%= a[exercises] %></li>
end
</ul>
或者
你也可以试试
@result = JSON.parse(HTTParty.get(your_url).body)
@result["arr"].each do |key, value|
puts key
puts value
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.