一前言

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

二 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)

最新文章

  1. 如何设置SharePoint 2013 的根网站集下的“更改此术语的目标页面”
  2. JavaScript 立即执行函数
  3. Adobe Flash Builder 4.7破解方法(绝对可用)
  4. LTRIM(str):返回 字符串str的前导(左边)空格字符去掉。
  5. 最懂中文的H5前端框架amazeUI
  6. 实现viewpager下的圆点滑动
  7. 6.24AppCan移动开发者大会价值30万的展示机会归了谁?
  8. hasLayout与Block formatting contexts的学习(下)
  9. Getopt::Long 模块的简单使用
  10. Power Strings(KMP)
  11. OpenStack_I版 3.glance部署
  12. 项目Beta冲刺Day7
  13. 笔记14 Hello Spring MVC
  14. (PMP)第1章-----引论
  15. 20165314 2016-2017-2 《Java程序设计》第3周学习总结
  16. linux服务器系统盘坏且系统盘为软raid的修复方法
  17. jquery选择器玩得不6啊,只能慢慢写判断了,唉..........................
  18. C# 在引用插件中 出现的问题| Csharp cite the plugin problem
  19. 【转】Microsoft .Net Remoting 之.Net Remoting基础篇
  20. Java学习笔记之:Java Servlet环境配置

热门文章

  1. HTML静态网页--JavaScript-语法
  2. Laravel根据Ip获取国家,城市信息
  3. 【DCN】Wireless Intranet Captive Portal
  4. js原生继承几种方式
  5. Lua环境搭建之使用EditPlus搭建Lua开发环境
  6. Koa2 遇到Method Not Allowed 获取不到返回值
  7. 12174 - Shuffle——[滑动窗口]
  8. C# 字典 Dictionary 的 TryGetValue 与先判断 ContainsKey 然后 Get 的性能对比
  9. es6笔记 day4---模块化
  10. Vue+node.js实现一个简洁的个人博客系统