广州番禺Python, Java小班周末班培训
薯条老师在广州做Python和Java的小班培训,一个班最多10人,学员的平均就业薪资有11K。不在广州的同学可以报名线上直播班,跟线下小班的同学们同步学习。培训的课程有Python爬虫,Python后端开发,Python办公自动化,Python大数据分析,Python量化投资,Python机器学习,Java中高级后端开发。授课详情请点击:http://chipscoco.com/?cate=6
15.5.1 什么是json文件
json的全称为JavaScript Object Notation,是javascript的对象标记语言,用于将javascript对象序列化为JSON格式的字符串。所谓的json文件,特指json格式的文件。
javascript与Python一样,也是一种解释型的脚本语言。
15.5.2 json数据格式
json这种数据格式类似于Python中的列表类型和字典类型:由符号[]括起来的数据集合,或由花括号{}括起来的键值对。
在键值对的数据格式中,键名必须为字符串类型,键值可为以下六种类型:
在json的数据格式中,键值的数据类型可以相互嵌套,由此组合成比较复杂的json格式。
json格式举例:
{ "language":{ "programming": ["Python","C++","java"], "natural": [{"chinese":["湖南话","粤语"]},{"english":{"英国英语","北美英语"}}], } }
15.5.3 Python中的json模块
在Python内置的json模块中,分别提供了dumps方法以及loads方法。前者将Python中的数据对象序列化为json格式,后者将json格式的文本反序列化为Python中的数据对象。
(1) json.dumps(obj, ensure_ascii=True)
参数obj表示Python中的数据对象,参数ensure_ascii表示数据对象是否为ascii编码。当数据对象中包含非ascii编码的字符时,需要传递False。 dumps方法会返回一个json格式的字符串。
在Python中并不是所有数据类型都可以进行序列化,在Python中可序列化的数据类型有:整型,浮点类型,布尔类型,字符串,列表,元组,字典。在实际开发中,使用较多的是将列表和字典序列化为json格式,然后写入到json文件中。
代码实例:
# __desc__ = 使用json模块的dumps方法进行序列化 # 使用json模块,必须先执行import进行导入 import json # 定义一个字典类型的变量 data = { "language":{ "programming": ["Python","C++","java"], "natural": [{"chinese":["湖南话","粤语"]},{"english":["英国英语","北美英语"]}], } } # 由于字典data中包含非ascii字符,所以要指定ensure_ascii的值为False json_data = json.dumps(data, ensure_ascii=False) # 将json格式的数据写入到文件中,指定utf-8编码 open("config.json","w",encoding="utf-8").write(json_data)执行完上面的程序时,会在当前目录发现一个config.json的json文件。打开该文件,可以看到以下内容:
(2) json.loads(s)
通过json模块的loads方法,可以将json格式的文本反序列化为Python中的数据类型。参数s表示json文件中的文本或bytes类型。现在通过loads方法将上文config.json中的文本反序列化为Python中的字典类型:
代码实例:
# __desc__ = 使用json模块的loads方法进行反序列化 # 使用json模块,必须先执行import进行导入 import json # 读取json文件中的数据,注意encoding参数指定的编码 json_str = open("config.json","r",encoding="utf-8").read() # 执行loads方法将json_str反序列化 data = json.loads(json_str) # 输出data的类型 print(type(data)) # 输出为<class 'dict'>
15.5.4 json文件的应用场景
在上文的代码实例中,薯条老师有意将文件命名为config.json。config单词有配置的意思,在企业开发中,通常使用json文件作为程序的配置文件。将项目的配置信息,例如数据库的地址信息,登录信息等单独写入到配置文件中,会让项目的整体结构看起来更清晰:代码文件负责项目的执行逻辑,配置文件负责存储项目的配置信息。
如果将配置信息耦合到程序中,那么一旦配置信息发生变动,就需要对代码进行同步修改,以及测试。将配置信息与程序进行分离,降低了配置信息与代码的耦合度,便于项目的维护。
15.5.5 知识要点
(1) 所谓的json文件,特指json格式的文件。(2) 在Python内置的json模块中,分别提供了dumps方法以及loads方法。前者将Python中的数据对象序列化为json格式,后者将json格式的文本反序列化为Python中的数据对象。
15.5.6 最具实力的小班培训
薯条老师在广州做Python和Java的小班培训,一个班最多10人。不在广州的同学可以报名线上直播班,跟线下小班的同学们同步学习。打算参加小班培训的同学,必须遵守薯条老师的学习安排,认真做作业和项目。把知识学好,学扎实,那么找到一份高薪的工作就是很简单的一件事。
(1) Python后端工程师高薪就业班,月薪11K-18K,免费领取课程大纲
(2) Python爬虫工程师高薪就业班,年薪十五万,免费领取课程大纲
(3) Java后端开发工程师高薪就业班,月薪11K-20K, 免费领取课程大纲
(4) Python大数据分析,量化投资就业班,月薪12K-25K,免费领取课程大纲
扫码免费领取Python学习资料: