我想呼吁后续JSON的uniq的方法,以便它只会在EMPLOYEE_ID返回唯一结果的基础如何使用Ruby的uniq在嵌套数组/哈希
# Json array
a ={
results: [
{
employee: {
name: "A",
employee_id: "A-00016",
title: 1
}
},{
employee: {
name: "A",
employee_id: "A-00016",
title: 2
}
},{
employee: {
name: "C",
employee_id: "C-00017",
title: 3
}
}
]
}
# Calling uniq on a
a.uniq { |p| p.values_at(:employee_id) }
不过,我只得到这个结果
{
results: [
{
employee: {
name: "A",
employee_id: "A-00016",
title: 1
}
}
]
}
而不是我想要的
{
results: [
{
employee: {
name: "A",
employee_id: "A-00016",
title: 1
},{
employee: {
name: "C",
employee_id: "C-00017",
title: 3
}
}
]
}
现在用正确的方法来输出的I我想要的结果?
我会推荐做:'a [:results] .uniq!',但是第一个实例中title = 1,第二个中title = 2。所以,红宝石会认为这两个不同。 – oliviergg