【发布时间】:2020-08-01 12:20:22
【问题描述】:
[
{
"sets": "{\"sets\":[[15,12,10,16,22],[1,3,14,14,21],[18,18,19,4,6],[10,23,12,6,13],[4,3,16,6,3],[24,14,20,10,19],[19,16,2,18,9],[8,14,17,11,25],[4,20,4,24,13]],\"worn\":[1,3,4,6,7]}"
}
]
这对我来说真的很奇怪,我不知道该怎么做。我需要使worn 部分与sets 中的部分相关。就像我需要第 1 个列表、第 3 个列表、第 4 个列表、第 6 个列表和第 7 个列表。例如,第一个列表应连接到 [15,12,10,16,22]。我试过set['worn'][0],它说返回一个KeyError,因为worn不是一个键。我也尝试过set['sets'][-1] 试图获得我认为是worn 之后的列表的最终结果,但它实际上只是返回整个块,因为实际的密钥似乎是第一个sets 和不是第二个。
我想在未来学习如何解释这个,但我的目标是获取worn 之后的 5 个数字并为这些数字找到对应的sets,然后将每个列表的第一个值加在一起, 每个加在一起的第二个值,等等,直到 5 加在一起。
使用以下方式加载 json:
scan = f"link"
async with aiohttp.ClientSession() as cs:
async with cs.get(scan) as r:
set = json.loads(await r.text())
【问题讨论】:
-
import json; json.loads(data[0]['sets'])?? -
scan = f"link" async with aiohttp.ClientSession() as cs: async with cs.get(scan) as r: set = json.loads(await r.text())当我尝试时它一直给我 TypeError 但也许我不能使用这种方法来加载这种 json?我以前从未使用过它。如果我可以使用这个,你能给我一个例子来说明你的意思吗? json不是我的。这是网上的东西 -
我也无法将您的字符串加载到
json.loads()。如果无法使其与json.loads()兼容,则可以使用标准的python 列表和字符串操作技术到达您想要的位置。 -
我想我明白你的意思了。我会尝试。泰