Python 无法解码JSON对象,但输入为JSON格式
下面是我用来获取数据的代码:Python 无法解码JSON对象,但输入为JSON格式,python,json,Python,Json,下面是我用来获取数据的代码: def read_phantom(): try: with open(phantom_file, "r") as f: return json.load(f) except: return {"status": False} 下面是文件中的原始数据:{“status”:true,“angle”:-0.0,“speed”:0.0,“time”:1556521858546.0} 但是,我随机得到一个错误:无法解码任何JSON对象 你
def read_phantom():
try:
with open(phantom_file, "r") as f:
return json.load(f)
except:
return {"status": False}
下面是文件中的原始数据:{“status”:true,“angle”:-0.0,“speed”:0.0,“time”:1556521858546.0}
但是,我随机得到一个错误:无法解码任何JSON对象
你知道是什么原因导致的吗?随机发生的情况如何(请说明具体情况),你也可以使用这两个代码来读取文件内容 代码1
import json
def read_phantom():
try:
with open('file_path/phantom_file') as json_file:
data = json.load(json_file)
return (data)
except:
return {"status": False}
record = read_phantom()
print (record)
代码2
def read_phantom():
try:
content = []
f = open('phantom_file','r')
for line in f:
cont = line.rstrip("\n")
content.append(cont)
return (content)
except:
return {"status": False}
record = read_phantom()
print (record)
我同时定期从另一个Python文件写入
json
文件,在读取内容之前立即使用f.seek(0)
行大大减少了收到的错误数量。不知道为什么,但从那以后,我似乎对解析文件内容没有任何问题。您发布的数据在python 2.7上对我有效。可能会检查输入文件?可能重复您所说的“随机”是什么意思?错误不是每次都发生吗?如果是的话,在哪个频率?随机获得错误是很奇怪的。计算机是一件愚蠢的事情:面对相同的输入,它应该总是给出相同的输出。对可能发生的情况的胡乱猜测:读取错误的文件、在完全写入文件之前读取文件、写入时出错。为了确保这一点,您应该使用try:。。。Exception…:…
在json.load
周围,并在Exception子句中转储文件名(或更好的路径)和文件内容您确定文件是否存在吗?您可以添加导入操作系统;os.path.exists(path)
检查以避免文件路径问题或其他问题。根据json.load
文档,您应该传递一个类似文件的对象