Python3迭代json返回对象
我有一个JSON返回对象,我需要每个行返回的“id”字段号中的值 输出变量(json返回对象): 预期产出:Python3迭代json返回对象,python,json,api,iteration,xml-rpc,Python,Json,Api,Iteration,Xml Rpc,我有一个JSON返回对象,我需要每个行返回的“id”字段号中的值 输出变量(json返回对象): 预期产出: 28105 28141 如何从JSON返回对象返回“id”的值?我怀疑输出将始终是一个列表(因为您在这里使用RPC,RPC通常将结果序列化为本机类型),因此您必须执行以下操作: from pprint import pprint from operator import itemgetter output = api.domain.dnssec.list(apikey, domain
28105
28141
如何从JSON返回对象返回“id”的值?我怀疑输出将始终是一个列表(因为您在这里使用RPC,RPC通常将结果序列化为本机类型),因此您必须执行以下操作:
from pprint import pprint
from operator import itemgetter
output = api.domain.dnssec.list(apikey, domain)
ids = map(itemgetter("id"), output)
pprint(ids)
更新:如果ID列表返回为[“123 456”,“789”]
您想要一个扁平的ID列表,您可以执行以下操作:
ids = list(chain(*map(str.split, map(itemgetter("id"), output))))
你的预期产出是多少<子数组中所有文档的code>id
?@n9code JSON对象中的每一行都是DNS委派签名记录。如果弹出“any”,我需要根据id号将它们全部删除。所以我需要列表中的所有id号或其他可迭代的格式,这样我就可以立即删除它们。i、 e.[4567256234…]->api.domain.dnssec.delete(apikey,id)可以得到您想要的东西。它当然可以打印出整个JSON对象,这是我以前能够做到的。但是仍然没有接近“id”值,那么您必须澄清您的问题,并向我们展示output
的外观。我的朋友,原始问题中发布了“output”。JSON对象就在那里。output=JSON对象。这个答案对于您向我们展示的内容是正确的。如果您在上面描述的代表输出的列表返回为;json.read()
是多余的,将函数itemgetter(“id”)
映射到此DICT列表将生成一个id列表。没有兄弟,id字段中有“28105和28141”。我将编辑问题以说明相同的情况。我指望“我需要id字段的值”足够清楚。我道歉。
28105
28141
from pprint import pprint
from operator import itemgetter
output = api.domain.dnssec.list(apikey, domain)
ids = map(itemgetter("id"), output)
pprint(ids)
ids = list(chain(*map(str.split, map(itemgetter("id"), output))))