You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ruby中从JSON数据提取status字段的唯一值?

Ruby获取JSON数组中status字段的唯一值

Ruby里有多种简洁的方式实现你要的需求,以下是常用的两种:

方法一:提取字段后去重

先从数组的每个元素中提取status字段,再用uniq方法去除重复值:

# 先确保data是解析后的Ruby数组(若为JSON字符串,可先用JSON.parse转换)
unique_statuses = data.map { |item| item["status"] }.uniq

执行后会得到 ["Removed", "Registered", "Objected"],如果需要和示例中的顺序一致,可追加.sort方法进行排序。

方法二:分组后取键

类似你提到的JavaScript中_.countBy的思路,Ruby可以用group_by方法按status字段分组,分组生成的哈希的键就是所有唯一的status值:

unique_statuses = data.group_by { |item| item["status"] }.keys

这种方式的结果顺序会和status值在原数组中首次出现的顺序保持一致。

内容的提问来源于stack exchange,提问作者Labani Das

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 17:10:24