尝试从解码的base64 Python打印json

2024-10-01 22:42:38 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我一直在尝试使用base64来解码一个值,然后能够使用这些解码后的字符串为自己打印出来。在

基本上,我解码的base64是:

{
  "trailerColor": "FF0017",
  "complete": 59,
  "bounds": [
    25,
    65,
    62,
    5
  ],
  "Stamina": 0,
  "cardId": "d4fc5458-3481-4ce6-be32-acd03c2cfd16",
}

我使用这个代码,它得到我想要的元数据,然后用下面的代码将它转换成UTF-8。在

^{pr2}$

然而,通常如果我这样做了newdata['trailerColor']如果我这样做,它应该只能打印出trailerColor,但是我得到的错误是:

TypeError: string indices must be integers

如何通过json打印我想要的任何内容来解决这个问题?在

编辑:

Process Process-1:
Traceback (most recent call last):
  File "C:\Users\AppData\Local\Programs\Python\Python36\lib\multiprocessing\process.py", line 249, in _bootstrap
    self.run()
  File "C:\Users\AppData\Local\Programs\Python\Python36\lib\multiprocessing\process.py", line 93, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Users\TEST.py", line 194, in script
    print(newdata['complete'])
TypeError: string indices must be integers

Tags: 代码inpyselfstringline解码users
1条回答
网友
1楼 · 发布于 2024-10-01 22:42:38
resp = requests.get(url, headers=headers, json=json, timeout=6)

getmetadata = resp.json()['objects'][1]['metadata']
newdata = base64.b64decode(getmetadata).decode('UTF-8')
data = json.loads(newdata)
print(data['complete'])

base64.b64decode(str).decode(str)返回一个字符串str。如果该字符串应该是json,那么可以使用json.loads将字符串str转换为dict,在这里可以通过它的键获得单个值。在

相关问题 更多 >

    热门问题