Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python3迭代json返回对象_Python_Json_Api_Iteration_Xml Rpc - Fatal编程技术网

Python3迭代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

我有一个JSON返回对象,我需要每个行返回的“id”字段号中的值

输出变量(json返回对象):

预期产出:

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))))