一、JSON简介
在介绍Python中Json()函数前,我们先来了解一下Json。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。常用在在线接口传输数据。JSON采用键值对的方式存储数据,其中键/值需要用双引号引起来。
JSON使用的数据类型包括:数字、字符串、布尔、数组、对象、空值。其中对象用花括号{}括起来,数组用中括号[]括起来。例如,下面是一个Json字符串的示例:
{ "name": "John", "age": 30, "isMale": true, "languages": ["Python", "JavaScript", "Java"] }
二、Python中Json()函数的使用
Python内置了json模块,提供了一些方法来完成Json格式的编码和解码。其中,Json()函数用于将Python对象转换为Json格式的字符串。
import json # 定义一个Python字典 person = {"name": "John", "age": 30, "isMale": True, "languages": ["Python", "JavaScript", "Java"]} # 将Python字典转换为Json字符串 person_json = json.dumps(person) print(person_json)
输出结果为:
{"name": "John", "age": 30, "isMale": true, "languages": ["Python", "JavaScript", "Java"]}
三、Json()函数的参数
Json()函数有很多参数,下面我们介绍一些常用的参数。
indent:用于设置Json字符串的缩进格式。默认值为None,表示不进行缩进。
import json # 定义一个Python字典 person = {"name": "John", "age": 30, "isMale": True, "languages": ["Python", "JavaScript", "Java"]} # 将Python字典转换为Json格式的字符串,并设置缩进为4个空格 person_json = json.dumps(person, indent=4) print(person_json)
输出结果为:
{ "name": "John", "age": 30, "isMale": true, "languages": [ "Python", "JavaScript", "Java" ] }
sort_keys:用于指定是否按照键名对Json字符串进行排序。默认值为False,表示不排序。
import json # 定义一个Python字典 person = {"name": "John", "age": 30, "isMale": True, "languages": ["Python", "JavaScript", "Java"]} # 将Python字典转换为Json格式的字符串,并按照键名排序 person_json = json.dumps(person, sort_keys=True) print(person_json)
输出结果为:
{"age": 30, "isMale": true, "languages": ["Python", "JavaScript", "Java"], "name": "John"}
四、Json格式的解码
除了Json()函数可以将Python对象转换为Json格式的字符串之外,json模块还提供了loads()函数,用于将Json格式的字符串转换为Python对象。
import json # 定义一个Json格式的字符串 person_json = '{"name": "John", "age": 30, "isMale": true, "languages": ["Python", "JavaScript", "Java"]}' # 将Json格式的字符串转换为Python字典 person_dict = json.loads(person_json) print(person_dict)
输出结果为:
{'name': 'John', 'age': 30, 'isMale': True, 'languages': ['Python', 'JavaScript', 'Java']}
五、Json格式的文件操作
json模块还提供了dump()和load()函数,用于将Python对象和Json格式的文件相互转换。
import json # 将Python对象写入Json格式的文件 def write_json_file(data, json_file): # 将Python对象转换为Json格式的字符串 data_json = json.dumps(data) # 写入Json字符串到文件 with open(json_file, 'w') as f: f.write(data_json) # 从Json格式的文件中读取Python对象 def read_json_file(json_file): # 从文件中读取Json格式的字符串 with open(json_file, 'r') as f: data_json = f.read() # 将Json字符串转换为Python对象 data = json.loads(data_json) return data # 定义一个Python字典 person = {"name": "John", "age": 30, "isMale": True, "languages": ["Python", "JavaScript", "Java"]} # 将Python字典写入到Json格式的文件中 write_json_file(person, 'person.json') # 从Json格式的文件中读取Python对象 person_from_file = read_json_file('person.json') print(person_from_file)
输出结果为:
{'name': 'John', 'age': 30, 'isMale': True, 'languages': ['Python', 'JavaScript', 'Java']}
总结
Json格式是一种轻量级的数据交换格式,Python内置的json模块提供了很多方法来完成Json格式的编码和解码。Json()函数用于将Python对象转换为Json格式的字符串,loads()函数用于将Json格式的字符串转换为Python对象。此外,json模块还提供了dump()和load()函数,用于将Python对象和Json格式的文件相互转换。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/258168.html