内容简介:翻译自:https://stackoverflow.com/questions/26808814/python-valueerror-no-json-object-could-be-decoded
我正在尝试读取json并获取其值.
我有一个包含 JSON档案的文件夹,我需要打开所有档案并从中获取值.
这是代码:
# -*- encoding: utf-8 -*- from pprint import pprint import json import os def start(): for dirname, dirnames, filenames in os.walk('test'): for filename in filenames: json_file = open(os.path.join(dirname, filename)).read() # json_file = unicode(json_file, 'utf-8') json_data = json.loads(json_file) pprint(json_data) for key, value in json_data.items(): print "KEY : ", key print "VALUE: ", value start()
这是JSON之一
{ "test" : "Search User 1", "url" : "http://127.0.0.1:8000/api/v1/user/1/?format=json", "status_code" : 200, "method" : "get" }
但是当我运行它时,我得到了这个:
ValueError: No JSON object could be decoded
到底怎么了?昨天它完全像现在一样工作,或者我疯了
我试过这种方式:
from pprint import pprint import json import os for dirname, dirnames, filenames in os.walk('test'): for filename in filenames: json_file_contents = open(os.path.join(dirname, filename)).read() try: json_data = json.loads(json_file_contents) except ValueError, e: print e print "ERROR"
我看不到任何错误’ – ‘
for filename in filenames: with open(os.path.join(dirname,filename)) as fd: json_data = fd.read() print json_data
这样我就可以看到json文件包含的内容,但我不能使用密钥访问,例如json_data [‘url’]
.read()方法可能是将光标移动到文件末尾.尝试:
for filename in filenames: with open(os.path.join(dirname,filename)) as fd: json_data = json.load(fd)
并看看它在哪里得到你.
当然,这假设你有 valid JSON ,正如你的例子所示. (留意尾随逗号)
翻译自:https://stackoverflow.com/questions/26808814/python-valueerror-no-json-object-could-be-decoded
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Netty-解码器架构与常用解码器
- Glide 缓存与解码复用
- 音频解码 Audio Converter
- golang之Json编码解码
- 解码器 与 编码器
- WeIdentity 源码分析 | 狗哥解码(一)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
ECMAScript6入门
阮一峰 / 电子工业出版社 / 2014-8 / 49.00元
《ECMAScript6入门》全面介绍了ECMAScript6新引入的语法特性,覆盖了ECMAScript6与ECMAScript5的所有不同之处,对涉及的语法知识给予了详细介绍,并给出了大量简洁易懂的示例代码。 《ECMAScript6入门》为中级难度,适合已有一定JavaScript语言基础的读者,用来了解这门语言的最新发展;也可当作参考手册,查寻新增的语法点。一起来看看 《ECMAScript6入门》 这本书的介绍吧!