以下是一个解决方案的代码示例,使用Python中的collections库中的defaultdict和json库:
import json
from collections import defaultdict
# 示例JSON字符串
json_str = '''
{
"data": [
{"name": "John", "group": "A"},
{"name": "Mike", "group": "B"},
{"name": "David", "group": "A"},
{"name": "Sarah", "group": "B"},
{"name": "Emily", "group": "A"}
]
}
'''
# 解析JSON字符串
data = json.loads(json_str)
# 使用defaultdict创建一个字典,并将每个组名作为键,计数作为值
group_counts = defaultdict(int)
# 遍历每个JSON元素,根据"group"键进行分组并计数
for item in data['data']:
group = item['group']
group_counts[group] += 1
# 打印每个组的计数结果
for group, count in group_counts.items():
print(f"组 {group} 的计数:{count}")
输出结果:
组 A 的计数:3
组 B 的计数:2
这个例子假设输入的JSON字符串包含一个名为"data"的键,其值是一个包含多个JSON元素的列表。它遍历每个元素,获取"group"键的值,并使用defaultdict来进行计数。最后,它打印出每个组的计数结果。