目录
目录
八、json和jsonl的区别
一、简介
JSON(JavaScript Object Notation)
- 一种轻量级的数据交换格式。
- 文本表示数据对象的属性和值对
- JSON格式源于JavaScript语言,但独立于编程语言,几乎在所有编程环境中都能使用。
- 广泛用于数据传输。
二、基本结构
json的基本结构:可以是字符串(String)、数字(Number)、对象(Object)、数组(Array)、布尔值(Boolean)或 null
{
"String": "Hello, World!",
"Number": 123,
"Object": {"key": "value"},
"Array": [1, 2, 3],
"Boolean": true,
"null": null
}
三、对象Object 和 数组Array 的json格式
1️⃣ json格式:对象(Object)
{
"name": "John",
"age": 30,
"city": "New York"
}
- 由花括号
{}
包围,包含键值对 - 键和值之间用冒号
:
分隔, - 键值对之间用逗号
,
分隔。
2️⃣ json格式:数组(Array)
[
"Apple",
"Banana",
"Cherry"
]
- 由方括号
[]
包围 - 包含一组值
- 值之间用逗号
,
分隔。
四、特点
- 简单易读:结构清晰,易于理解和编写。
- 轻量级:格式简洁,数据传输效率高。
- 独立性:语言无关,适用于多种编程语言和平台。
五、应用范围
JSON常用于Web应用的数据交换、配置文件、数据存储和传输等场景中被广泛使用
例如服务器与客户端之间传递数据。
六、json常用函数
json.dumps() 和 json.dump()
json.dumps(obj):
将python对象序列化为JSON格式的字符串
json.dump(obj, fp)
:将 Python 对象 obj
转换为 JSON 格式,并写入到文件 fp
import json
data = {
"name": "Alice",
"age": 30,
"is_student": False
}
json_string = json.dumps(data)
print(json_string)
#写入到文件 fp
with open('data.json', 'w') as file:
json.dump(data, file)
输出结果: {"name": "Alice", "age": 30, "is_student": false}
json.loads() 和 json.load()
json.loads(obj):将 JSON 格式的字符串反序列化为 Python 对象
json.load(fp):
从文件中读取 JSON 数据,并将其解析为 Python 对象。
import json
json_string = '{"name": "Alice", "age": 30, "is_student": false}'
data = json.loads(json_string)
print(data)
#从文件中读取 JSON 数据
with open('data.json', 'r') as file:
data = json.load(file)
print(data)
输出结果 : {'name': 'Alice', 'age': 30, 'is_student': False}
七、jsonl常用函数
1️⃣ 读取 JSONL 文件
import jsonlines
with jsonlines.open('data.jsonl', mode='r') as reader:
for obj in reader:
print(obj)
2️⃣ 写入 JSONL 文件
import jsonlines
data = [
{"name": "Alice", "age": 30, "city": "New York"},
{"name": "Bob", "age": 25, "city": "Los Angeles"},
{"name": "Charlie", "age": 35, "city": "Chicago"}
]
with jsonlines.open('data.jsonl', mode='w') as writer:
writer.write_all(data)
八、json和jsonl的区别
📝 JSON 是一种广泛使用的数据交换格式,适用于存储和传输结构化数据。
📝 JSONL 是 JSON 的一种变体,每行是一个独立的 JSON 对象,适用于处理大型数据文件。
✅ json.dump
和 json.load
用于文件的 JSON 读写。
✅ json.dumps
和 json.loads
用于字符串的 JSON 处理。
🌈 jsonlines
库用于处理 JSONL 格式的数据。