gpt4 book ai didi

Python - SimpleJSON 问题

转载 作者:太空宇宙 更新时间:2023-11-03 18:54:34 24 4
gpt4 key购买 nike

我正在使用 Mega API 和 Python,希望生成一个可由 Python 读取的文件夹树。目前,我正在使用 Mega 的 API 提供的 JSON 响应,但由于某种原因,我在解析它时遇到了麻烦。过去我只会使用下面格式的 simplejson,但现在它不起作用。目前我只是想获取文件名。如有任何帮助,我们将不胜感激!

import simplejson    

megaResponseToFileSearch = "(u'BMExefXbYa', {u'a': {u'n': u'A Bullet For Pretty Boy - 1 - Dial M For Murder.mp3'}, u'h': u'BMExXbYa', u'k': (5710166, 21957970, 11015946, 7749654L), u'ts': 13736999, 'iv': (7949460, 15946811, 0, 0), u'p': u'4FlnwBTb', u's': 5236864, 'meta_mac': (529642, 2979591L), u'u': u'xpz_tb-YDUg', u't': 0, 'key': (223xx15874, 642xx8505, 1571620, 26489769L, 799460, 1596811, 559642, 279591L)})"

jsonRespone = simplejson.loads(megaResponseToFileSearch)

print jsonRespone[u'a'][u'n']

错误:

Traceback (most recent call last):
File "D:/Projects/Mega Sync/megasync.py", line 18, in <module>
jsonRespone = simplejson.loads(file4)
File "D:\Projects\Mega Sync\simplejson\__init__.py", line 453, in loads
return _default_decoder.decode(s)
File "D:\Projects\Mega Sync\simplejson\decoder.py", line 429, in decode
obj, end = self.raw_decode(s)
File "D:\Projects\Mega Sync\simplejson\decoder.py", line 451, in raw_decode
raise JSONDecodeError("No JSON object could be decoded", s, idx)
simplejson.decoder.JSONDecodeError: No JSON object could be decoded: line 1 column 0 (char 0)

编辑:

有人问我从哪里得到字符串。这是对使用 Mega API 搜索文件的响应。我正在使用这里找到的模块。 https://github.com/richardasaurus/mega.py代码本身如下所示:

from mega import Mega
mega = Mega({'verbose': True})
m = mega.login(email, password)
file = m.find('A Bullet For Pretty Boy - 1 - Dial M For Murder.mp3')
print file

最佳答案

你从m.find得到的只是一个Python元组,其中第1个(第0个之后的下一个)元素是一个字典:

(u'99M1Tazb',
{u'a': {u'n': u'test.txt'},
u'h': u'99M1Tazb',
u'k': (1145485578, 1435138417, 702505527, 274874292),
u'ts': 1373482712,
'iv': (1883603069, 763415510, 0, 0),
u'p': u'9td12YaY',
u's': 0,
'meta_mac': (1091379956, 402442960),
u'u': u'79_166PAQCA',
u't': 0,
'key': (872626551, 2013967015, 1758609603, 127858020, 1883603069, 763415510, 1091379956, 402442960)})

要获取文件名,只需使用:

print file[1]['a']['n'] 

因此,根本不需要使用 simplejson

关于Python - SimpleJSON 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17578288/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com