Python Json处理

2022/4/30 17:42:59

本文主要是介绍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)


这篇关于Python Json处理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程