【发布时间】:2023-04-07 15:51:01
【问题描述】:
我正在尝试使用 django 上传和解析 json 文件。在我需要解析 json 之前,一切都很好。然后我得到这个错误:
No JSON object could be decoded: line 1 column 0 (char 0)
这是我的代码。 (我按照here 的说明进行操作,并覆盖了handle_uploaded_file 方法。)
def handle_uploaded_file(f, collection):
# assert False, [f.name, f.size, f.read()[:50]]
t = f.read()
for j in serializers.deserialize("json", t):
add_item_to_database(j)
奇怪的是,当我取消注释“断言”行时,我得到了这个:
[u'myfile.json', 59478, '']
所以看起来我的文件以正确的大小上传(我已经在服务器上验证了这一点),但读取命令似乎完全失败了。
有什么想法吗?
【问题讨论】:
-
type(f) 和 t 是什么?我的怀疑是 .read() 有效,但有些东西不是有效的 JSON。
-
来自:assert False, [f.name, f.size, f.read()[:50], type(f), type(t), len(t)] 我明白了, [u'wikileaks_cmets.json', 59478, '',
, ,0] -
酷。字符串中有什么?
-
Re: JSON 无效——这也是我的第一个猜测。但是该文件是使用 simplejson 创建的,我已经通过验证器运行了它。我很有信心 json 不是问题。
-
什么都没有——它是一个长度为零的字符串。