首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从json输出中提取多个字段

从json输出中提取多个字段
EN

Stack Overflow用户
提问于 2016-05-31 15:16:53
回答 1查看 67关注 0票数 0

大家好,我不知道在堆栈中问问题是什么,但我想知道如何从json输出中删除“name”值,我知道如何通过索引name = [groups['groups'][0]['name'] for groups in result]获取各个名称,但是如何获得两个名称

代码语言:javascript
复制
from pyzabbix import ZabbixAPI

import json

z = ZabbixAPI(url='https://zabbix.server,user='xxxx',password='xxxx')
result = z.host.get(output='groupid',selectGroups='extend', filter={'host' : 'mailpphfprd01'})


name = [groups['groups'] for groups in result]

name 

Json产出:

代码语言:javascript
复制
[[{u'flags': u'0',
   u'groupid': u'110',
   u'internal': u'0',
   u'name': u'- GSOC - Systems'},
  {u'flags': u'0',
   u'groupid': u'313',
   u'internal': u'0',
   u'name': u'Applications - Email Digest'}]]

所需输出

代码语言:javascript
复制
[u'- GSOC - Systems' u'Applications - Email Digest']
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-31 16:20:36

您应该能够用清单理解来完成这个任务。

代码语言:javascript
复制
json_output = [
  [
    {
      "internal": "0",
      "flags": "0",
      "groupid": "110",
      "name": "- GSOC - Systems"
    },
    {
      "internal": "0",
      "flags": "0",
      "groupid": "313",
      "name": "Applications - Email Digest"
    }
  ]
]

names = [d['name'] for d in json_output[0]]

print(names)  # -> [u'- GSOC - Systems', u'Applications - Email Digest']
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37549581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档