【精简版】一文辨析 json 和 jsonl

目录

目录

一、简介

二、基本结构

三、对象Object 和 数组Array 的json格式

四、特点

五、应用范围

六、json常用函数

json.dumps() 和 json.dump()

json.loads() 和 json.load()

七、jsonl常用函数 

八、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 格式的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值