Python Json处理

JSON

  • JSON 是用于存储和交换数据的语法,是一种轻量级的数据交换格式。
  • 使用场景
    • 接口数据传输
    • 序列化
    • 配置文件

JSON 结构

  • 键值对形式
  • 数组形式

{ "language": [ { "name": "python", "url": "https://www.python.org/" }, { "name": "java", "url": "https://www.java.com/zh-CN/" } ] }

 

Python 与 JSON 数据类型对应

json 库

  • 可以从字符串或文件中解析 JSON
  • 该库解析 JSON 后将其转为 Python 字典或者列表

常用方法

  • dumps():将 Python 对象编码成 JSON 字符串
  • loads():解码 JSON 数据,该函数返回 Python 对象
  • dump(): Python 对象编码,并将数据写入 json 文件中
  • load():从 json 文件中读取数据并解码为 Python 对象

区别:dumps会转换成字符串,dump只是对象转文件(具体可以看源码)

import json

data = {
    'a':1,
    'b':['2','3'],
    'c':True,
    'd':False,
    'e':None
}

#将python对象转换为Json字符串
json_data = json.dumps(data)
print(json_data)

#定义一个json字符串
#将Json字符串转换为python对象
python_data = json.loads(json_data)
print(python_data)
print(type(python_data))

#把python对象转换为json格式的数据并且写入json文件
with open('data.json','w') as f:
    json.dump(data,f)
#读取json文件并且转换为python对象
with open('data.json','r') as f:
    data = json.load(f)
    print(data)
    print(type(data))

dumps 常用参数

  • indent:根据数据格式缩进显示,默认为 None,没有缩进
  • ensure_ascii:对中文使用 ASCII 编码,默认为 True
#使用indent和ascii
json_data_1 = json.dumps(data,ensure_ascii=False,indent=4)
print(json_data_1)
posted @   lms21  阅读(85)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示