python之json对读操作

在对数据进行操作,将其转换json格式。往往分不清dump load 和dumps loads。json是轻量级的文本数据交换格式,独立于语言,具有自我描述性,更易理解,比XML更小,更快,更易解析。
json 文件格式:

{"firstname":"JIE", "lastName":"Dog"}

1、使用json字符串生产python对象(load)
2、由python对象格式成为json字符串(dump)

将数据从python转到json格式,在数据类型会发生变化

PythonJson
dictobject
list tuplearray
strstring
int floatnumber

重点所在使用方法

函数接口作用
json.dump(obj,fp)将数据转换成json格式并保存到文件中
json.dumps(obj)将数据转换成json格式的字符串
json.load(fp)从文件中的内容为json格式数据读取并转成Python类型
json.loads(s)json格式字符串转成Python的类型

代码演示

import json
# 从python对象 格式化成json 字符串

animal = {"name":"dog", "age":2, "height":10,"weight":20}
print(type(animal))
print(type(json.dumps(animal)))
print(json.dumps(animal))
print(json.dump(animal))

结果:
从结果看出 代码,最后一行报错了,缺少参数

Traceback (most recent call last):
  File "D:\pyqt_code\json_demo.py", line 8, in <module>
    print(json.dump(animal))
TypeError: dump() missing 1 required positional argument: 'fp'
<class 'dict'>
<class 'str'>
{"name": "dog", "age": 2, "height": 10, "weight": 20}
# 从json格式转成 Python 对象
animal1 = '{"name":"dog", "age":2, "height":10,"weight":20}'
print(json.loads(animal1))
print(json.load(animal1))
``
结果`

```python
Traceback (most recent call last):
  File "D:\pyqt_code\json_demo.py", line 13, in <module>
    print(json.load(animal1))
  File "E:\Program Files (x86)\python38\lib\json\__init__.py", line 293, in load
    return loads(fp.read(),
AttributeError: 'str' object has no attribute 'read'
{'name': 'dog', 'age': 2, 'height': 10, 'weight': 20}
```报错类型说明 格式对象不对。
### 使用Python解析JSON数据 在 Python 中,可以通过 `json` 模块实现 JSON 数据的解析。以下是具体方法: #### 解析 JSON 字符串 如果有一个 JSON 格式的字符串,可以使用 `json.loads()` 方法将其转换为 Python 的字典或列表结构[^1]。 ```python import json # 原始 JSON 字符串 json_data = '{"name": "Alice", "age": 25, "city": "Los Angeles"}' # 将 JSON 字符串解析为 Python 字典 data = json.loads(json_data) # 访问解析后的数据 print(data["name"]) # 输出:Alice print(data["age"]) # 输出:25 print(data["city"]) # 输出:Los Angeles ``` #### 从文件中读取并解析 JSON 数据 当 JSON 数据存储在一个文件中时,可以先通过 `open()` 函数打开文件,再利用 `json.load()` 方法将文件中的 JSON 数据加载为 Python 对象[^2]。 ```python import json # 打开包含 JSON 数据的文件 with open('example.json', 'r') as file: # 加载并解析 JSON 数据 data = json.load(file) # 访问解析后的数据 print(data["name"]) # 如果 example.json 文件中有对应的键值对,则会输出相应的值 print(data["age"]) print(data["city"]) ``` #### 转换 Python 数据为 JSON 字符串 除了解析 JSON 数据外,还可以使用 `json.dumps()` 方法将 Python 对象序列化为 JSON 字符串[^3]。 ```python import json # 定义一个 Python 字典 person = {"name": "Bob", "age": 30, "city": "Chicago"} # 将 Python 字典转换为 JSON 字符串 json_string = json.dumps(person, ensure_ascii=False) print(json_string) # 输出:{"name": "Bob", "age": 30, "city": "Chicago"} ``` #### 存储 Python 数据至 JSON 文件 若需将 Python 数据保存到 JSON 文件中,可结合 `json.dump()` 和文件操作完成此过程[^3]。 ```python import json # 定义一个 Python 列表 people = [{"name": "Charlie", "age": 35}, {"name": "David", "age": 40}] # 将 Python 数据写入 JSON 文件 with open('output.json', 'w', encoding='utf-8') as file: json.dump(people, file, ensure_ascii=False) ``` 以上展示了如何在 Python 中解析和处理 JSON 数据的不同场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

可厉害的土豆

你的鼓励是我创作的源泉

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值