我尝试使用以下函数读取此json content
的ascii文件:
{ "directory": { "name": "/wiki", "files": { "file": [ { "name": "/wiki/a.txt", "digest": "97d37a2ff85fbe35e1bf8ad38934d8fb518a6a3fbeb9b0b9305ce98e992f9dd2 " },
{ "name": "/wiki/d.txt", "digest": "ef91ee1257c3faa49f86f343cfec66010e5810e99db9f42e88774f90cd5b95d9 " },] } } }
def readJsonFile(path):
with open(path) as json_file:
json_data = json.load(json_file)
return json_data
我得到的error
没有JSON对象可以被解码:
ValueError: No JSON object could be decoded
我尝试使用json.loads
并收到错误:
TypeError: expected string or buffer
我使用的是正确的功能吗?
答案 0 :(得分:1)
数据不是有效的json(它有一个尾随,
)。
但它是一个有效的python文字;您可以改为使用ast.literal_eval
:
import ast
def readJsonFile(path):
with open(path) as json_file:
return ast.literal_eval(json_file.read())
答案 1 :(得分:0)
您的json字符串错误,由jsonint验证: