如何从嵌套JSON中筛选并打印符合条件的username
解决方案
直接使用以下命令即可得到你需要的输出:
cat myjson_file | python3.6 -c "import sys, json; data = json.load(sys.stdin); approvals = data['currentPatchSet']['approvals']; usernames = [item['by']['username'] for item in approvals if item['type'] == 'Developer-Verified' and item['value'] == '1']; print(' '.join(usernames))"
命令说明:
- 加载JSON数据并取出
approvals列表 - 通过列表推导式遍历整个列表,筛选出满足
type == 'Developer-Verified'且value == '1'的条目 - 从符合条件的条目中提取嵌套在
by字典里的username字段 - 用
' '.join()将所有用户名拼接成空格分隔的字符串,最终输出dsnifer hdamer
你之前的尝试仅遍历了第一个条目的键值对,既没有遍历整个列表做条件筛选,也没有深入到by字段提取用户名,所以无法得到正确结果。
内容的提问来源于stack exchange,提问作者rodee
相关产品推荐
相关产品推荐

