Python操作Json

Python操作Json的方法:

  • json.dump()
  • json.load()
  • json.dumps()
  • json.loads()

估计看到这些,很多人懵逼了,今天我们就利用短短10min的时间快速捋清楚

主要区别

  • dump()load() 处理的是Json文件
  • dumps()loads() 处理的是字符串

小贴士:记忆小窍门,dumps 和 loads都是带s,表示处理str字符串,不带s表示处理文件

json.loads()

json.loads()是将Json类型字符串转换成Python数据类型。

import json

json_str = '{"name": "Kity", "age": 26}'
print(type(json_str), json_str)  #  {"name": "Kity", "age": 26}

json_dict = json.loads(json_str)
print(type(json_dict), json_dict)  #  {'name': 'Kity', 'age': 26}

小贴士:Json格式字符串要求 { } 内是双引号

json.dumps()

json.dumps()是将Python数据类型转换成Json类型字符串

import json

json_dict = {'name': 'Kity', 'age': 26}
print(type(json_dict), json_dict)  #  {'name': 'Kity', 'age': 26}

json_str = json.dumps(json_dict)
print(type(json_str), json_str)  #  {"name": "Kity", "age": 26}

小贴士:json.dumps() 内还可以传入indent和ensure_ascii参数

  • indent: 使得输出效果好看,建议indent=4
  • ensure_ascii: 默认是True,对于含有中文的话,建议带上ensure_ascii=False

json_str = json.dumps(json_dict, indent=4, ensure_ascii=False)

json.dump()

json.dump()是将Python数据类型转成Json类型字符串并写入Json文件中

import json

json_dict = {'name': 'Kity', 'age': 26}
with open('test.json', 'w') as f:
    json.dump(json_dict, f)

小贴士:json.dump(obj, fp)

  • obj: 第一个参数传Python数据类型
  • fp: 第二个参数传file object文件对象,比如:fp = open('my.json', 'w')

json.load()

json.load()是json.dump的反操作,用于从Json文件中读取数据

import json

with open('test.json', 'r') as f:
    json_dict = json.load(f)
print(type(json_dict), json_dict)  #  {'name': 'Kity', 'age': 26}

上一篇:Python读写CSV
下一篇:正则表达式

你可能感兴趣的:(Python操作Json)