莱莱 发表于 2024-6-14 06:30:30

【Python】json文件的读取

https://img-blog.csdnimg.cn/8a1d199c8a01430c95202c5d90d904f5.gif#pic_center
1. json简介

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于将结构化数据进行传输和存储。它基于JavaScript语法,但可以被多种编程语言解析和天生。
json 基于文本,独立于语言的轻量级的数据交换格式


[*]基于文本,是一个文本文件,不能包含图片,音视频等
[*]独立于语言,不是某个语言特有的,每种编程语言都可以利用的
[*]轻量级,雷同的数据,和其他格式相比,占用的大小比较小
[*]数据交换格式,后端程序员 给前端的数据 (json,xml,ProtoBuf等)
JSON具有广泛的应用,尤其在Web开辟中常用于API的数据交互。在许多编程语言中,都有内置的JSON解析器和天生器,可以方便地处理JSON数据。
2.json的利用规范

JSON利用键值对的方式表示数据,其中键是字符串,值可以是字符串、数字、布尔值、对象、数组或null。
JSON的一些根本规则:

[*]键和值之间利用冒号(:)分隔。
[*]键值对之间利用逗号(,)分隔。
[*]数据包裹在大括号({})中表示一个对象。
[*]数组利用方括号([])表示,其中的元素可以是恣意类型的数据,用逗号分隔。
[*]json中的字符串必须利用双引号 ""
[*]json文件的后缀名是 .json
[*]一个json文件对应一个对象或数组
3.json文件的誊写

一个简单的JSON示例:
{
    "name": "zhangsan",
    "age": 20,
    "city": "BeiJing",
    "hobbies": ["reading", "running", "playing guitar"]
}
https://img-blog.csdnimg.cn/e7c4ecb160344412b0e86e3cd91d49ce.png#pic_center
在上面的示例中,有一个包含个人信息的对象。它包含名称、年龄、所在城市、爱好数组
留意:
不能在一个json文件中定义两个json
https://img-blog.csdnimg.cn/397e2eb0675e4a6dab8ced8e85a1107b.png#pic_center
如果想要在一个json文件中定义多个json,需要利用数组,如下:
https://img-blog.csdnimg.cn/4157d4e28dd84eb590fbb179b68ebc64.png#pic_center
4.json文件的读取

利用python读取json文件分为三步:

[*]导包
[*]读打开文件
[*]读文件
在此之前,先利用平凡文件的读取方式进行读取:
with open("info.json",'r',encoding='UTF-8') as f:
    buf = f.read()
    print(type(buf))
    print(buf)
https://img-blog.csdnimg.cn/29765b22daf74025a613da50a1df316d.png#pic_center
此处返回的效果是 字符串,在字符串中获取json中的键值对的信息是比较困难的.
不过在python中的json包中提供了一个json.load()方法
import json

with open("info.json",'r',encoding='UTF-8') as f:
    result = json.load(f)
    print(type(result))
    print(result)
https://img-blog.csdnimg.cn/72630222840c42fd86cfcc5b4ab96b23.png#pic_center
可以看到返回值类型变成了 dict(字典),python字典中的数据也是键值对,因此要获取对应的数据也就很方便了

[*]利用方括号操纵符:可以利用字典的key作为索引来获取对应的value。
[*]利用get()方法:get()方法可以吸收一个key参数,并返回对应的value。如果key不存在,则可以指定一个默认值作为get()方法的第二个参数,如果不指定,默认值为None。
https://img-blog.csdnimg.cn/934af62d65ea48c497a848025053c985.png#pic_center
https://img-blog.csdnimg.cn/93dafb38489645b2af94db5ba72d66ea.gif#pic_center

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【Python】json文件的读取