python 的json为啥老是报错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 的json为啥老是报错相关的知识,希望对你有一定的参考价值。

user_info.json文件如下:
"yuri""yuki""yuri"
读取文件程序如下:
import json
filename='user_info.json'
with open(filename) as f_obj_2:
contents=json.load(f_obj_2)
print(contents)
程序报错为:
JSONDecodeError Traceback (most recent call last)
<ipython-input-62-e0cd08c62515> in <module>()
2 filename='user_info.json'
3 with open(filename) as f_obj_2:
----> 4 contents=json.load(f_obj_2)
5 print(contents)

~/anaconda3/lib/python3.7/json/__init__.py in load(fp, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
294 cls=cls, object_hook=object_hook,
295 parse_float=parse_float, parse_int=parse_int,
--> 296 parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
297
298

~/anaconda3/lib/python3.7/json/__init__.py in loads(s, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
346 parse_int is None and parse_float is None and
347 parse_constant is None and object_pairs_hook is None and not kw):
--> 348 return _default_decoder.decode(s)
349 if cls is None:
350 cls = JSONDecoder

~/anaconda3/lib/python3.7/json/decoder.py in decode(self, s, _w)
338 end = _w(s, end).end()
339 if end != len(s):
--> 340 raise JSONDecodeError("Extra data", s, end)
341 return obj
342

JSONDecodeError: Extra data: line 1 column 7 (char 6)
求解答怎么修改?

一、代码不用修改:


二、user_info.json 文件的内容需要修改。

修改有多种方式,需要根据你的实际需求来确定,以下提供两种参考:

1、单一 json 数组

["yuri", "yuki", "yuri"]

2、键值对数组


"name": ["yuri", "yuki", "yuri"]

三、实际运行验证

追问

请问我能让程序逐个报出名字吗?

追答

可以将读入的 json 数组,逐个输出其数组成员,如使用 for .. in ..

参考技术A 程序有多个错误
首先,缺省python是不支持汉字的,你的程序必须用UTF-8,且要用python 33以上版本
其次,你的第7,8,9,11,14,16都应该在while循环内,它们的缩进格式不对
再有就是第10行,12行的最后的)是中文全角的,当然是错的
最后,我的python没有easygui,所以无法帮你测试(应该没有错了)
参考技术B 你的json内容出错了,建议用pycharm,json格式错误有直接提示

为啥jupyter notebook老是安装不了

参考技术A 命令:pip install jupyter
总安装失败,vpn跳过后再安装成功
参考技术B 回答

你好

提问
回答

如果您不需要conda,设置Jupyter笔记本的最简单方法是使用pip。由于您是python新手,请首先使用virtualenv创建一个新的虚拟环境安装pip(如果已安装,则忽略): 下载适用于Windows的get-pip.py并运行python get-pip.py安装virtualenv:pip install virtualenv创建新的虚拟环境:virtualenv your_env_name激活虚拟病毒:your_env_name\\Scripts\\activate安装Jupyter笔记本电脑:pip install notebook您可以使用以下命令启动笔记本服务器:jupyter notebook

提问

是怎么下载哦,现在这种情况不知道是什么意思,应该在哪里下载

回答

下载步骤:1.官网地址 打开官网,下拉选择install the Notebook

2.选择下载miniconda,下载完毕,按照提示在Anaconda Prompt(conda)终端输入以下命令,看到done,即下载成功

3.测试在第二步的终端中继续输入命令jupyter notebook,会在网页中打开一个窗口,看到jupyter nootbook即为成功。

提问

miniconda没找到在哪里

回答

Windows系统安装教程1.按键盘上的【win+R】键,在弹出的运行窗口中输入【cmd】,点击【确定】

黄色字可以不理会出现红色字重新运行上面的命令,直到窗口全为白色字

2.在打开的【cmd】窗口中【输入】以下命令,然后点击【回车】pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jupyter3.窗口全为【白色字】为安装成功

苹果Mac OS系统安装教程1.按键盘上的【command+空格】,在弹出的【搜索框】里输入【终端】或者【terminal】,在结果中找到【终端】打开

2.在【终端】中【输入】以下命令,并【回车】pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple jupyter3.窗口全为【白色字】为安装成功

提问

显示找不到jupyter的匹配发行版,还有红色文字怎么运行哦

回答

怎么会找不到呢,你是按照上面的步骤操作的吗

如果有用过markdown或是Latex的可以知道,这个notebook和MD和Latex很类似,不过多了一个可以运行代码的功能。并且是以网页的形式,将本地目录呈现在网页上,人们在网页上可以打开自己想要的文件。网页展示:

尝试打开第一个文件intro.ipynb(ipynb是jupyter notebook形成的文件后缀)可以编写代码块然后点击运行,可以得到out(结果)。同时除了可以编写代码块还可以以文字的形式来注释。

1.官网地址 打开官网,下拉选择install the Notebook

.选择下载miniconda,下载完毕,按照提示在Anaconda Prompt(conda)终端输入以下命令,看到done,即下载成功在这里插入图片描述

然后就是要.测试在第二步的终端中继续输入命令jupyter notebook,会在网页中打开一个窗口,看到jupyter nootbook即为成功。

以上是关于python 的json为啥老是报错的主要内容,如果未能解决你的问题,请参考以下文章

写的一段python老是报错 求解 老是在*cur*的地方报错

Python求助在eclipse和pycharm中,通过adb install安装中文名字APK时老是报错,如何解决

安装了python3.2.2,安装了win32com,在import的时候老是报错,请达人指教:

QT中,我在子线程使用Modbus rtu 通讯,为啥老是报错,报错如下图片,怎么解决?

用python进行socket编程老是报错error: [Errno 10061] 怎么回事啊??好心人帮帮忙啊!!在线等!谢了

为啥 myeclipse10.7 新建maven项目后 POM.XML 老是报错?