python操作json

x33g5p2x  于2021-08-23 转载在 Java  
字(1.9k)|赞(0)|评价(0)|浏览(253)

一前言

本篇文章将会阐述对json的日常操作,如何读取json文件,将json文件转为字典;如何将字典转为json,将字典写入文件等;

公众号:知识追寻者

知识追寻者(Inheriting the spirit of open source, Spreading technology knowledge;)

二 josn数据格式简要说明

json对于初学者可以理解是一种数据存储格式,比如像xml;json的数据储存格式是kev(键)-value(值)形式,每个key都是唯一,并且有对应唯一的value,他们用冒号形成对应关系;json对象外面使用花括号{},花括号内部是就是存储key-value;通常key是字符串,value可以是任意数据类型对象,每个键值对之间用逗号分割,;举个简单{"name":"zszxz", "type", "human"} 这个简单的json格式 key1是name,对应的value1是zszxz;key2是type,对应的value2是human;

三pyhon函数说明

函数名称函数含义
dump将字典数据写入文件为json
load从文件读取josn数据转为字典
dumps将字典转为josn
loads将json数据转为字典

四 字典与json之间的类型转换

字典类型符号json类型
dictionary<=>object
list ,tuple<=>array
str<=>string
False<=>false
True<=>true
None<=>null
int<=>numeric(int)
float<=>numeric(float)

五 函数操作实践

5.1 josn.dump

  1. 首先要引入 json 模块,定义一个字典数据 message;
  2. 然后定义存储的json文件名为zszxz.json ,知识追寻者这边有文件夹所有搞了个相对路径
  3. 打开一个file,使用 'w' 写入模式,并指定编码格式为'utf-8'
  4. 最后使用dump()方法将字典数据message写入文件,最后得到文件中的json结果 {"msg": "you are very cute"}
import json

message = {'msg':'you are very cute'}

filename = '../dirs/zszxz.json'
# 写入数据
with open(filename,'w',encoding='utf-8') as json_file:
    # {"msg": "you are very cute"}
    json.dump(message,json_file)

5.2 josn.load

  1. 引入json模块,要读取5.1节写入的json数据,文件名相同
  2. 打开一个文件,指定模式'r' 表示读取,指定编程格式为 'utf-8'
  3. 使用load()方法将json数据从文件中读取转为字典,输出结果 {'msg': 'you are very cute'}
import json
filename = '../dirs/zszxz.json'
with open(filename,'r',encoding = 'utf-8') as read_json:
    content = json.load(read_json)
    # {'msg': 'you are very cute'}
    print(content)

5.3 json.dumps

  1. 引入json模块,定义字典数据message
  2. 使用dumps方法将字典转为josn数据{"msg": "you are very cute"}
import json

message = {'msg':'you are very cute'}
json_data = json.dumps(message)
print(json_data)

5.4 json. loads

  1. 引入json模块,定义字典数据message
  2. 使用dumps方法将字典转为josn数据{"msg": "you are very cute"}
  3. 使用loads方法将json数据转为字典为 {'msg': 'you are very cute'}
import json

message = {'msg':'you are very cute'}
json_data = json.dumps(message)
# 将json对象转为字典
dic_data = json.loads(json_data)
print(dic_data)

相关文章