从JSON数组的每个元素中删除一个键 - Ruby

7

我有一个 JSON 数组,我正在循环遍历它并添加三个键和它们的值,我还想从数组中的每个元素中删除一个键(subject_id)。

如何处理这个问题?

s=JSON.parse(subjects.to_json)
s.each do |j|
  j["total_classes"] = total_classes[i]
  j["attended_classes"] = attended_classes[i]
  j["subject_name"] = subject_name[i]
  j["subject_id"] #remove this key, how?
  i=i+1
end

render json: { attendances: s }

1
你要做的第一件事是将JSON字符串转换为数组,其中每个元素都是哈希。你想知道如何从每个哈希中删除相同的键。你从JSON字符串中获取哈希的事实是无关紧要的,而且由于你显然必须循环遍历数组的每个元素,所以问题实际上归结为想知道如何从哈希中删除一个键。要回答这个问题,你只需要查看Hash的实例方法,找到一个可以完成这个任务的方法即可。 - Cary Swoveland
1个回答

17

试试这个

j.delete("subject_id")

那个有效。谢谢。看起来我需要掌握一些基础知识。 - srijanshukla
1
我的荣幸,先生 ;) - Ursus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接