Ruby on rails 如何在rails控制器中迭代JSON对象?
我正在以JSON格式将以下数据集传递给我的控制器:Ruby on rails 如何在rails控制器中迭代JSON对象?,ruby-on-rails,json,Ruby On Rails,Json,我正在以JSON格式将以下数据集传递给我的控制器: [ {id: 0, exercises: [15, 18]}, {id: 1, exercises: [33, 35]} ] 这是在我的控制器中接收到的,我必须使用以下代码来临时显示它: arr = params["_json"] binding.pry 这在pry控制台中为我提供了以下输出: [3] pry(#<ProgramsController>)> arr => [<ActionCon
[
{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>]
希望有人能帮我处理这些数据。谢谢 尝试使用JSON.parse:)
解决方案非常简单:arr[0][“练习”]
无需解析,谢谢tho:)您需要将其解析为哈希,然后修改哈希。请注意:您的初始代码示例不是JSON,而是Ruby哈希。JSON具有字符串键,而不是示例中的符号。一个细节,但它可能有助于解释为什么您可以直接引用它。
arr.each do |x|
prog = Program.create(x ...)
x.each do |exercise|
prog.exercises.create(exercise_id: exercise.id)
end
end
arr = JSON.parse params["_json"]