如何从 Json 输出中获取 keys/value 嵌套在元组中的对象?

how to get the object with keys/value nested inside tuple from a Json output?

如何从 Json 数据中获取 keys/value 嵌套在元组中的对象?我一直在尝试为 api 请求获取以下 Json 输出并加载 Json 输出 - 但我最终遇到了这个错误

the JSON object must be str, bytes or bytearray, not tuple

我写了这样的代码:

output = json.loads(output)
print(output)

我得到的输出

('{\n  "architecture" : "x86_64",\n  "billingProducts" : null,\n  "devpayProductCodes" : null,\n  "marketplaceProductCodes" : null,\n  "imageId" : "****",\n  "instanceId" : "***",\n  "instanceType" : "t3.2xlarge",\n  "kernelId" : null,\n  "pendingTime" : "2022-05-19T17:32:35Z",\n  "privateIp" : "***",\n  "ramdiskId" : null,\n  "version" : "2017-09-30"\n}', '  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n\n  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0\n100    56  100    56    0     0  56000      0 --:--:-- --:--:-- --:--:-- 56000\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n\n  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0\n100   479  100   479    0     0   467k      0 --:--:-- --:--:-- --:--:--  467k\n')
output = json.loads(output)
  File "/usr/lib/python3.8/json/__init__.py", line 341, in loads
    raise TypeError(f'the JSON object must be str, bytes or bytearray, '
TypeError: the JSON object must be str, bytes or bytearray, not tuple

如错误所述,变量 output 必须是 bytesstringbytearray.

类型

如果我们深入观察,元组实际上只包含一个 string 元素。所以,我相信我们应该得到 string 元素!

我们可以这样做:

output = json.loads(output)[0] # Tuples are just like arrays

所以,现在变量 output 的类型是 string!

如果这不起作用,也许可以尝试重命名 output 变量:

variable = json.loads(output)[0]

抱歉,如果这不正确!

根据之前的回答,几乎是正确的。必须是

output = json.loads(output[0])