Python是怎样处理json模块的


Posted in Python onJuly 16, 2020

首先,了解下什么是JSON?

JSON:JavaScript Object Notation 【JavaScript 对象表示法】

JSON 是一种轻量级的数据交换格式,完全独立于任何程序语言的文本格式。一般,后台应用程序将响应数据封装成JSON格式返回。

JSON的基本语法如下:JSON名称/值对。JSON 数据的书写格式是:名称/值对。名称/值对包括字段名称(在双引号中),然后着是一个冒号(:),最后是值。

JSON最常用的格式是对象的键值对:key只能是string, value可以是 object、array、string、number、true/false、null

{
"sites": [
{ "name":"360" , "url":"www.360.com" }, 
{ "name":"google" , "url":"www.google.com" }, 
{ "name":"baidu" , "url":"www.baidu.com" }
]
}
  • 键通过双引号包裹,后面跟冒号“:”,然后跟该键的值;
  • 值可以是字符串、数字、数组等数据类型;
  • 对象与对象之间用逗号隔开;
  • “{}”用来保存对象;
  • “[]”用来保存数组;

json跟python中的字典看起来很像,两者之间的区别?

1)json的key只能是字符串,dict的key可以是任何可hash的对象,例如:字符串、数字、元组等;

2)字典是一种数据结构,json是一种数据格式;字典有很多内置函数,有多种调用方法,而json是数据打包的一种格式,并不像字典具备操作性;

3)json的字符串强制用双引号,dict的字符串可以用单引号、双引号;

一般而言,我们会把json转化为python中的字典或者列表,再对其进行操作。

Python处理json的模块:json

Pythone3的标准库JSON模块,可以很方便的帮我们进行json数据的转换和处理,这里主要指序列化(json.dumps()、json.dump())和反序列化(json.loads()、json.load())。

序列化和反序列化:

将对象转换为可通过网络传输或可以存储到本地磁盘的数据格式(如:XML、JSON或特定格式的字节串)的过程称为序列化;反之,则称为反序列化。

常用的JSON模块方法:

  • json.dumps():将Python中的对象转换为JSON中的字符串对象
  • json.dump():将python对象转换成JSON字符串输出到fp流中。
  • json.loads():将JSON中的字符串对象转换为Python中的对象
  • json.load():读取包含json对象的文件。

带s的都是和字符串相关的,不带s的都是和文件相关的。

Python是怎样处理json模块的

实例:

把字典转换成json串

import json
dic = {'name': 'xiaoming', 'age': 29}
json_str = json.dumps(dic)#返回json字符串
print(json_str)
print(type(json_str))
输出:
{"name": "xiaoming", "age": 29}
<class 'str'>

Python解码JSON对象

import json
json_str ='{"id":"09", "name": "Nitin", "department":"Finance"}'
# Convert string to Python dict
dict = json.loads(json_str)
print(dict)
#转换成字典来后,要访问其中的值,可以使用字典的key来访问
print(dict['id'])
输出:
{'id': '09', 'name': 'Nitin', 'department': 'Finance'}
09

读取json文件

import json
with open('test1.json') as f:
  a = json.load(f)
print(a)
print(type(a))
输出:
{'sites': [{'name': '360', 'url': 'www.360.com'}, {'name': 'google', 'url': 'www.google.com'}, {'name': 'baidu', 'url': 'www.baidu.com'}]}
<class 'dict'>

写入json文件

import json
  dic ={
    "name" : "xiaoming",
    "age" : 20,
    "phonenumber" : "15555555555"
  }

  with open("test2.json", "w") as outfile:
    json.dump(dic, outfile)

  文件test.json {"name": "xiaoming", "age": 20, "phonenumber": "15555555555"}

Python是怎样处理json模块的

Python类型转换JSON类型的对应关系

Python是怎样处理json模块的

json类型转换到Python的类型对照表

Python是怎样处理json模块的

以上就是Python是怎样处理json模块的的详细内容,更多关于Python处理json模块的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python3使用requests包抓取并保存网页源码的方法
Mar 15 Python
python利用Opencv实现人脸识别功能
Apr 25 Python
Django框架HttpResponse对象用法实例分析
Nov 01 Python
Pytorch实现的手写数字mnist识别功能完整示例
Dec 13 Python
Django重设Admin密码过程解析
Feb 10 Python
Python3 操作 MySQL 插入一条数据并返回主键 id的实例
Mar 02 Python
Django用户身份验证完成示例代码
Apr 03 Python
Python新手学习装饰器
Jun 04 Python
在keras里实现自定义上采样层
Jun 28 Python
如何使用python记录室友的抖音在线时间
Jun 29 Python
使用sublime text3搭建Python编辑环境的实现
Jan 12 Python
python 如何用map()函数创建多线程任务
Apr 07 Python
Python2手动安装更新pip过程实例解析
Jul 16 #Python
解决redis与Python交互取出来的是bytes类型的问题
Jul 16 #Python
Python 使用 PyQt5 开发的关机小工具分享
Jul 16 #Python
Python csv文件记录流程代码解析
Jul 16 #Python
Python 抓取数据存储到Redis中的操作
Jul 16 #Python
django filter过滤器实现显示某个类型指定字段不同值方式
Jul 16 #Python
解决python对齐错误的方法
Jul 16 #Python
You might like
php防注入,表单提交值转义的实现详解
2013/06/10 PHP
PHP ignore_user_abort函数详细介绍和使用实例
2014/07/15 PHP
php内存缓存实现方法
2015/01/24 PHP
PHP基于phpqrcode生成带LOGO图像的二维码实例
2015/07/10 PHP
PHP基于redis计数器类定义与用法示例
2018/02/08 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
设置下载不需要倒计时cookie(倒计时代码)
2008/11/19 Javascript
犀利的js 函数集合
2009/06/11 Javascript
使用dynatrace-ajax跟踪JavaScript的性能
2010/04/12 Javascript
javascript返回顶部效果(自写代码)
2013/01/06 Javascript
代码获取历史上的今天发生的事
2014/04/11 Javascript
jquery中获得元素尺寸和坐标的方法整理
2014/05/18 Javascript
zeroclipboard 单个复制按钮和多个复制按钮的实现方法
2014/06/14 Javascript
Javascript 多物体运动的实现
2014/12/24 Javascript
JavaScript实现图片DIV竖向滑动的方法
2015/04/25 Javascript
浅谈document.write()输出样式
2015/05/07 Javascript
JQuery鼠标移到小图显示大图效果的方法
2015/06/10 Javascript
JS实现单击输入框弹出选择框效果完整实例
2015/12/14 Javascript
jQuery实现简洁的轮播图效果实例
2016/09/07 Javascript
jquery replace方法去空格
2017/05/08 jQuery
详解ES6语法之可迭代协议和迭代器协议
2018/01/13 Javascript
利用python获得时间的实例说明
2013/03/25 Python
python+flask实现API的方法
2018/11/21 Python
python开发实例之Python的Twisted框架中Deferred对象的详细用法与实例
2020/03/19 Python
Python 数据分析之逐块读取文本的实现
2020/12/14 Python
Supersmart英国:欧洲市场首批食品补充剂供应商之一
2018/05/05 全球购物
小米俄罗斯授权商店:Xiaomi俄罗斯
2019/12/08 全球购物
上海某公司.net方向笔试题
2014/09/14 面试题
自主招生自荐信范文
2013/12/04 职场文书
工商企业管理实习自我鉴定
2013/12/04 职场文书
大学生实习鉴定评语
2014/04/25 职场文书
旅游活动总结
2014/08/27 职场文书
群众路线表态发言材料
2014/10/17 职场文书
2015年世界粮食日演讲稿
2015/03/20 职场文书
2015最新婚礼主持词
2015/06/30 职场文书
2016年大学生暑期社会实践方案
2015/11/26 职场文书