我的心里只有Python和JSON,以及佩恩!
之所以要掌握JSON数据的处理方式,是因为在WEB开发和爬虫以及一些数据分析任务中,很多数据都是以JSON格式出现。
JSON全称JavaScript Object Notation,虽然名字中有JavaScript,但却与其没有什么关系,是一种完全独立于编程语言的数据格式。通俗地讲,JSON就是一种游走在各大编程语言之间的数据格式,我Python可以处理,你JAVA也可以处理,其它编程语言也可以处理。
JSON数据本质上是一堆字符串,属于字符串类型,所以无论你眼前的JSON数据有多么花里胡哨,它归根结底也只是字符串类型。
json.loads()与json.load()
虽然JSON数据是字符串类型,但我们并不会直接用str类型的方法去处理它,而是先使用json.loads()或json.load()方法将其转换成字典或者列表,然后再用字典或列表的方法去处理。
- json.loads()
json.loads()方法是将符合JSON长相的str类型数据转换成字典或列表。
下面是转成字典的结果:
下面是转成列表的结果:
其实无论转成字典还是列表,其内核都是字典,也就说即便转成列表,列表中的每个元素也都是字典。在得到字典或列表后,我们就可以使用字典或列表的方法进行处理。
- json.load()
json.load()方法是将JSON文件转换成字典或列表。
比如有一段存放在json文件中的数据,使用notepad++打开,如下:
这里用json.load()方法读取json文件,同时将其转成列表,如下:
json.dumps()与json.dump()
其实我一开始不怎么用到这个功能,直到后来我做WEB开发,需要向前端传送JSON数据,这时候就需要将字典或列表转成JSON数据格式,可使用json.dumps()或json.dump()方法。另外还需要注意的是,如果数据中有中文,需设置参数ensure_ascii=Flase。
- json.dumps()
json.dumps()方法将具有JSON长相的字典或列表数据转成str类型。
下面是字典转成JSON:
下面是列表转成JSON:
这里我多一句嘴,因为转成了JSON格式,故上面两个结果自然都是str类型,但很多人会误看成字典和列表,这是因为pycham在打印str类型时,会默认将str类型的引号省略。
如何让生成的JSON看上去更清爽?很多人印象中的JSON数据中的键值对是一行一行的,这可以通过设置indent参数,该参数值表示每个键值对在每一行开头有几个缩进,如下:
- json.dump()
json.dump()方法将具有JSON长相的字典或列表数据转成JSON文件。
然后我用notepad++打开所生成的json文件,如下:
关注微信公众号“Python小镇”,发现更多干货知识!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。