json数据的存取

目录

一、引言

1、什么是json?

2、JSON 的主要特点包括:

二、代码实现

1、JSON数据的存储(将Python对象转换为JSON字符串):

2、JSON数据的读取(将JSON字符串转换为Python对象):

3、Python对象直接写入JSON文件,以及从JSON文件读取数据。

注意事项:


一、引言

        在编程中,JSON(JavaScript Object Notation)是一种常用的数据交换格式。在许多编程语言中,包括Python、JavaScript、Java等,都有内置的库或模块来处理JSON数据。

1、什么是json?

        JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,以易于人阅读和编写的文本形式表示数据。它基于JavaScript编程语言的子集,但由于其简洁性和易读性,已经成为一种通用的数据格式,被广泛用于前端和后端之间的数据交换。

        JSON 数据由键值对组成,类似于字典(在Python中的数据结构)或关联数组。

2、JSON 的主要特点包括:

  • 易读性:JSON 数据易于阅读和编写,便于人类理解。
  • 易解析: 大多数编程语言都有用于解析和生成 JSON 数据的库和工具。
  • 数据交换: 用于在不同系统之间交换数据,例如在客户端和服务器之间。

二、代码实现

1、JSON数据的存储(将Python对象转换为JSON字符串):

import json

# 定义一个Python字典
data = {
    "name": "John",
    "age": 30,
    "city": "New York"
}

# 将Python字典转换为JSON格式的字符串
json_data = json.dumps(data, indent=2)  # indent参数用于指定缩进空格数,使输出更易读

# 将JSON字符串写入文件
with open('data.json', 'w') as json_file:
    json_file.write(json_data)

2、JSON数据的读取(将JSON字符串转换为Python对象):

import json

# 从文件中读取JSON字符串
with open('data.json', 'r') as json_file:
    json_data = json_file.read()

# 将JSON字符串转换为Python对象(通常是一个字典)
parsed_data = json.loads(json_data)

# 访问Python对象的属性
print("Name:", parsed_data["name"])
print("Age:", parsed_data["age"])
print("City:", parsed_data["city"])

这里的用于将Python对象(字典、列表等)转换为JSON格式的字符串,而用于将JSON格式的字符串转换为Python对象。

3、Python对象直接写入JSON文件,以及从JSON文件读取数据。

请注意,如果你处理的是JSON文件而不是字符串,你可以使用将Python对象直接写入JSON文件,以及从JSON文件读取数据。

# 将Python对象写入JSON文件
with open('data.json', 'w') as json_file:
    json.dump(data, json_file, indent=2)

# 从JSON文件读取数据
with open('data.json', 'r') as json_file:
    parsed_data = json.load(json_file)

注意事项:

  • json.dumps()接受一个 Python 对象,并返回一个 JSON 格式的字符串。
  • json.dump()接受一个 Python 对象和一个文件对象,将 Python 对象转换为 JSON 格式的字符串,然后写入文件中。
  • json.loads()接受一个 JSON 格式的字符串,而 json.load()接受一个文件对象。
  • json.load()在读取文件时需要使用 with语句,确保文件在读取完成后被正确关闭。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值