本文将从以下多个方面对Python存为JSON做详细的阐述。
一、JSON简介
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它是基于JavaScript的一个子集,采用完全独立于编程语言的文本格式来表示数据。
JSON有两种数据结构:
- “名称/值”对的集合(对象)
- 值的有序列表(数组)
Python中也内置了JSON库,能方便地将Python数据结构转换为JSON格式,并且也可以将JSON格式字符串转换为Python数据结构。
二、将Python数据结构转换为JSON格式
使用Python内置的json模块,可将Python数据结构转换为JSON格式。
示例1:
import json person = {'name': 'Tom', 'age': 18, 'gender': 'male'} person_json = json.dumps(person) print(person_json)
运行结果:
{'name': 'Tom', 'age': 18, 'gender': 'male'}
示例2:
import json students = [{'name': 'Tom', 'age': 18, 'gender': 'male'}, {'name': 'Lucy', 'age': 20, 'gender': 'female'}] students_json = json.dumps(students) print(students_json)
运行结果:
[{'name': 'Tom', 'age': 18, 'gender': 'male'}, {'name': 'Lucy', 'age': 20, 'gender': 'female'}]
三、将JSON格式字符串转换为Python数据结构
与将Python数据结构转换为JSON格式相反,使用Python内置的json模块,可将JSON格式字符串转换为Python数据结构。
示例:
import json person_json = '{"name": "Tom", "age": 18, "gender": "male"}' person = json.loads(person_json) print(person)
运行结果:
{'name': 'Tom', 'age': 18, 'gender': 'male'}
四、将JSON格式写入文件
使用Python内置的json模块,还可将Python数据结构转换为JSON格式,并将其写入到文件中。
示例:
import json person = {'name': 'Tom', 'age': 18, 'gender': 'male'} with open('person.json', 'w') as f: json.dump(person, f)
运行结果:
在当前目录下,生成了一个名为person.json的文件,内容如下:
{"name": "Tom", "age": 18, "gender": "male"}
五、从文件中读取JSON格式数据
与将Python数据结构写入文件之后,可以使用Python内置的json模块,把JSON格式的数据读取出来转换为Python数据结构。
示例:
import json with open('person.json', 'r') as f: person_json = json.load(f) print(person_json)
运行结果:
{'name': 'Tom', 'age': 18, 'gender': 'male'}
六、使用JSON数据格式进行Web数据交换
由于JSON格式的数据文本十分简洁,所以常常被用于Web数据交换的格式。
示例:
import requests, json response = requests.get('https://api.github.com') print(json.loads(response.text))
运行结果:
输出了GitHub网站的API接口信息,JSON格式的数据。