什么是JSON,python中如何使用JSON进行数据转化
什么是JSON: JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。JSON本质上就是字符串,不过在格式上比较特殊而已
功能: JSON是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互;比如说python有自己的数据类型格式有列表、字典、元组、集合等,但c语言中没有字典这种数据类型,c语言也无法理解一个python字典到底该如何处理,所以如果要相互传递数据的话,就需要遵守一种相同的规定格式,这样彼此间才能正常交互数据。是一个类似中间站的角色。
C数据类型格式转换:
假设你有一个C语言数组如下:
int c_array[] = {1, 2, 3, 4, 5};
你可以将这个C语言数组转化为JSON字符串,如下所示:
[1, 2, 3, 4, 5]
这是一个JSON数组,其中包含了整数元素。对于复杂的数据结构,你可以使用嵌套的JSON对象和数组来表示更多的信息。
在Python中,你可以使用json模块来解析这个JSON字符串,并将其转化为Python数据结构,例如列表。示例代码如下:
import json
# JSON字符串表示的C语言数组
json_data = "[1, 2, 3, 4, 5]"
# 解析JSON字符串并转化为Python数据
python_list = json.loads(json_data)
# 打印Python列表
print(python_list)
在python中,JSON的数据格式其实跟字典很像很像,几乎没有区别。有一点需要注意的就是,JSON字符串使用双引号来表示字符串值,而Python字典中的字符串可以使用单引号也可以用双引号。JSON规范要求使用双引号。
一个例子:
import json
# 创建一个字典
data = {
"name": "John",
"age": 30,
"city": "New York"
}
#(如果你的数据里面有中文的话,可以在下面这个dumps方法的第二个参数位置上,添加上ensure_ascii=false;不然中文部分会被unicode编码)
# 将字典转化为JSON字符串
json_string = json.dumps(data)
# 打印JSON字符串
print(json_string)
#转化为python数据
data = json.loads(json_string)
#打印python数据
print(data)
结果:
{"name": "John", "age": 30, "city": "New York"}
{'name': 'John', 'age': 30, 'city': 'New York'}
python里数据格式转化就是这俩方法:
json.dumps() : 转换成JSON格式
json.loads(): 转换为python可处理的数据格式
此外,还可以使用json.dump()
将字典数据写入JSON文件,或使用json.load()
从JSON文件中读取数据并转化为字典。这两个方法通常用于文件 I/O (读写)操作,可以将数据保存到文件或从文件中加载数据。以下是一个示例:
使用 **json.dump
方法将数据写入 JSON 文件:**
import json
# 创建一个 Python 字典
data = {
"name": "Alice",
"age": 25,
"city": "Wonderland"
}
# 打开一个文件以写入 JSON 数据
with open("data.json", "w") as json_file:
# 使用 json.dump 将数据写入文件
json.dump(data, json_file)
# 数据已写入 data.json 文件
在这个示例中,我们首先创建一个 Python 字典 data
,然后使用 json.dump
方法将这个字典写入名为 “data.json” 的文件。这会将字典转换为 JSON 格式并将其写入文件。文件 “data.json” 将包含以下内容:
{"name": "Alice", "age": 25, "city": "Wonderland"}
使用 **json.load
方法从 JSON 文件中加载数据:**
import json
# 打开存储 JSON 数据的文件以读取数据
with open("data.json", "r") as json_file:
# 使用 json.load 从文件中加载数据
loaded_data = json.load(json_file)
# 打印加载的数据
print(loaded_data)
在这个示例中,我们打开之前创建的 “data.json” 文件,使用 json.load
方法从文件中加载数据,并将其存储在 loaded_data
变量中。然后,我们打印 loaded_data
,它将包含与之前创建的字典相同的数据:
{'name': 'Alice', 'age': 25, 'city': 'Wonderland'}
这个过程演示了如何使用 json.dump
方法将 Python 数据保存到 JSON 文件,然后使用 json.load
方法从 JSON 文件中加载数据并将其还原为 Python 数据结构。
演示就到这里了,感谢观看!