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 相关文章推荐
Python中利用Scipy包的SIFT方法进行图片识别的实例教程
Jun 03 Python
django2用iframe标签完成网页内嵌播放b站视频功能
Jun 20 Python
Python机器学习库scikit-learn安装与基本使用教程
Jun 25 Python
对python中的 os.mkdir和os.mkdirs详解
Oct 16 Python
python3 实现验证码图片切割的方法
Dec 07 Python
python 通过麦克风录音 生成wav文件的方法
Jan 09 Python
Pandas读取并修改excel的示例代码
Feb 17 Python
python读取并定位excel数据坐标系详解
Jun 26 Python
Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例
Oct 14 Python
python 实现超级玛丽游戏
Nov 25 Python
python 实现图片批量压缩的示例
Dec 18 Python
python文本处理的方案(结巴分词并去除符号)
May 26 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中动态修改ini配置
2014/10/14 PHP
laravel 实现关闭CSRF(全部关闭、部分关闭)
2019/10/21 PHP
IE和FireFox(FF)中js和css的不同
2009/04/13 Javascript
js删除所有的cookie的代码
2010/11/25 Javascript
js静态方法与实例方法分析
2011/07/04 Javascript
JavaScript自定义DateDiff函数(兼容所有浏览器)
2012/03/01 Javascript
js函数排序的实例代码
2013/07/01 Javascript
jQuery原理系列-css选择器的简单实现
2016/06/07 Javascript
javascript 数组去重复(在线去重工具)
2016/12/17 Javascript
深入理解angular2启动项目步骤
2017/07/15 Javascript
JS实现统计字符串中字符出现个数及最大个数功能示例
2018/06/04 Javascript
微信小程序中使用ECharts 异步加载数据的方法
2018/06/27 Javascript
说说如何在Vue.js中实现数字输入组件的方法
2019/01/08 Javascript
微信小程序利用swiper+css实现购物车商品删除功能
2019/03/06 Javascript
详解一个基于套接字实现长连接的express
2019/03/28 Javascript
教你使用vue-cli快速构建的小说阅读器
2019/05/13 Javascript
教你30秒发布一个TypeScript包到NPM的方法步骤
2019/07/22 Javascript
[03:00]《DAC最前线》之欧美新秀VS老将
2015/02/01 DOTA
Pycharm 操作Django Model的简单运用方法
2018/05/23 Python
Python设计模式之模板方法模式实例详解
2019/01/17 Python
python中logging模块的一些简单用法的使用
2019/02/22 Python
Opencv实现抠图背景图替换功能
2019/05/21 Python
对Python中一维向量和一维向量转置相乘的方法详解
2019/08/26 Python
Python tensorflow实现mnist手写数字识别示例【非卷积与卷积实现】
2019/12/19 Python
利用CSS3的定位页面元素
2009/08/29 HTML / CSS
阿根廷在线宠物商店:Puppis
2018/03/23 全球购物
Rentalcars.com中国:世界上最大的在线汽车租赁服务
2019/08/22 全球购物
小饰品店的创业计划书范文
2013/12/28 职场文书
文秘个人求职信范文
2014/04/22 职场文书
学生会干部自我鉴定2014
2014/09/18 职场文书
幼儿教师自我剖析材料
2014/09/29 职场文书
公积金接收函格式
2015/01/30 职场文书
教育读书笔记
2015/07/02 职场文书
《黄道婆》教学反思
2016/02/22 职场文书
浅谈Python 中的复数问题
2021/05/19 Python
python实现简易自习室座位预约系统
2021/06/30 Python