python json是什么_python的json用法
一、json是什么
客户端向服务器端发送请求后,服务器端怎么才能把用户需要的数据返回给客户端呢。这时我们就需要用一个指定的格式将数据,按照指定格式返回客户端。这时就有了两种数据传输的方式(XML和Json)
常用的是Json,因为在普通的Web应用中,不管是服务器端还是客户端解析XML代码会非常麻烦,所以这时Json就更加满足数据传输解析的要求。采用Json格式的方式进行数据的传输,不仅方便传输解析,还特别易于人阅读和编写。
打个形象的比方,后端好比是厨师,厨师做好菜,盛到盘子(json)中,交给顾客(前段)。盘子在这个过程中起到了一个交换的容器的作用。
导入:
importjsonprint(json.__all__)
主要方法:
['dump', 'dumps', 'load', 'loads', 'JSONDecoder', 'JSONEncoder']
二.XML与Json转换:
1.常规转换:
fxhl
深圳
23
转换为Json为:
{“name”:“fxhl”,"city":"深圳","age":23}
三、json和python中字典的区别和联系
刚开始学习json时感觉和python中的字典很像,两者还是有不小的区别的。
字典:{‘username’:‘wmh’,‘score’:[10,20,30],'a':999}
可以增删改查,单双都可以,是一种数据类型,有内置方法。
json:{"studentInfo":
{"id":123456,"stu_name":"Dorra"}
}
必须使用双引号或值得边界符号,不能使用单引号是一种数据格式,较少的操作方式,多用于数据传输和存储。
它们的共同点:都是key和values形式
四、python中json序列化和反序列化
在python中,序列化可以理解为:把python的对象编码转换为json格式的字符串,
反序列化可以理解为:把json格式字符串解码为python数据对象。在python的标准库中,专门提供了json库与pickle库来处理这部分。
json的dumps方法和loads方法,可实现数据的序列化和反序列化。具体来说, dumps方法,可将json格式数据序列为Python的相关的数据类型; loads方法则是相反,把python数据类型转换为json相应的数据类型格式要求。在序列化时,中文汉字总是被转换为unicode码,在dumps函数中添加参数ensure_ascii=False即可解决。
序列化
1 #coding: utf-8
2 importjson3
4 dict = {'name':'wmh', 'age':18, 'hobby':'听音乐'}5 print('未序列化前的数据类型为:', type(dict))6 print('为序列化前的数据:', dict)7 #对dict进行序列化的处理
8 dict_xu = json.dumps(dict,ensure_ascii=False) #添加ensure_ascii=False进行序列化
9 print('序列化后的数据类型为:', type(dict_xu))10 print('序列化后的数据为:', dict_xu)11 -------------------------------------------------------------------
12 未序列化前的数据类型为:
13 为序列化前的数据: {'hobby': '听音乐', 'age': 18, 'name': 'wmh'}14 序列化后的数据类型为:
15 序列化后的数据为: {"hobby": "听音乐", "age": 18, "name": "wmh"}
反序列化
importjson
dict1={'name':'雷子','age':24,'address':'北京'}print (u'未序列化前的数据类型为:',type(dict1))print (u'未序列化前的数据:',dict1)#对dict1进行序列化的处理
str1=json.dumps(dict1)print (u'序列化后的数据类型为:',type(str1))print (u'序列化后的数据为:',str1)#对str1进行反序列化
dict2=json.loads(str1)print (u'反序列化后的数据类型:',type(dict2))print (u'反序列化后的数据:',dict2)
输出:
未序列化前的数据类型为:
未序列化前的数据: {'age': 24, 'name': '雷子', 'address': '北京'}
序列化后的数据类型为:
序列化后的数据为: {"age": 24, "name": "\u96f7\u5b50", "address": "\u5317\u4eac"}
反序列化后的数据类型:
反序列化后的数据:{'age': 24, 'name': '雷子', 'address': '北京'}
结合requests库,来看返回的json数据,具体代码为:
python json是什么_python的json用法相关推荐
- python序列化和反序列化_Python 中 json 数据序列化和反序列化
1.Json 定义 定义:JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.JSON 的数据格式其实就是 python 里面的字典格式,里 ...
- python json数组解析_Python读取JSON数据操作实例解析
问题 你想读写 JSON(JavaScript Object Notation) 编码格式的数据. 解决方案 json模块提供给了一种很简单的方式来编码和解码json数据,其中两个主要的函数时json ...
- python json文件操作_python对json的操作总结
引言 你一定听说过 JSON 吧.JSON 是当前最常用的数据传输格式之一,纯文本,容易使用,方便阅读,最重要的是在多个场合都被大量被使用. 既然 JSON 这么好,那就让我们继续探险,去掌握 pyt ...
- python json是什么_Python解析Json数据
一.什么是Json? 首先解释一下,什么是json?JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 X ...
- python的json格式输出_python中json格式数据输出实现方式
python中json格式数据输出实现方式 主要使用json模块,直接导入import json即可. 小例子如下: #coding=UTF-8 import json info={} info[&q ...
- python json 不好用_Python之json使用
一.概念 json是一种通用的数据类型,任何语言都认识 接口返回的数据类型都是json 长得像字典,形式也是k-v { } 其实json是字符串 字符串不能用key.value来取值,要先转成字典才可 ...
- python post json 解析失败_python中json对象转换出错解决方法
今天在使用python中的json转换碰到一个问题: 接收一个post的json字符串: s={"username":"admin","passwor ...
- json string 格式_python中json函数的用法
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写. json函数 使用 JSON 函数需要导入 json 库:import json. 函 ...
- python decimal类型转化_python的json模块,针对decimal类型直接dumps报错
主要涉及的代码 def _iterencode(o, _current_indent_level): if isinstance(o, basestring): yield _encoder(o) e ...
最新文章
- 区块链以及区块链技术总结
- 经典C语言程序100例之七零
- 5年,14款近满分神作,这个独立团队打造了他们的游戏宇宙
- 监听列表事件的监控核心技术(编写代码)
- 斯坦福的著名小兔子模型的点云数据_传统方法的点云分割以及PCL中分割模块
- go test 如何输出到控制台_GO笔记之GO命令快速体验
- Kubernetes入门指南
- 独家总结| 一文读懂卡尔曼滤波
- MySql多对多关系中外键的应用
- 【D3.V3.js系列教程】--(十五)SVG基本图形绘制
- OneNote | 代码高亮插件 NoteHightlight 安装教程(全面)
- 为知笔记的markdown图片处理
- DNF——一开游戏,TP刚读完条就蓝屏(终止代码:KMODE_EXCEPTION_NOT_HANDLED)的解决方法
- Linux man命令的使用方法 man page 显示数字的意思
- 执行 this.$destroy()后原生DOM事件也无法执行
- 神策数据:2021 证券业数字新基建趋势洞察
- 哪款蓝牙耳机音质好又耐用?便宜耐用的蓝牙耳机
- IOTA--最便捷的网络流量分析工具
- C程序设计 谭浩强 第十章
- 路由器 静态、动态路由的配置
热门文章
- 第一阶段冲刺(第五天)
- 建立windows2003 域名服务器
- scrollview嵌套listview 滑动事件冲突的解决方法
- mac 上iterm终端显示中文为乱码解决方案
- MySQL数据库从GBK转换到UTF-8最简单解决方案(也适用于其它编码转换)
- no identity found Command /usr/bin/codesign failed with exit code 1 报错解决方法
- 机器学习算法总结之聚类:K-means
- linux虚拟机怎么显示桌面,虚拟机中如何开启Linux的3d特效桌面?
- ubuntu下mysql语句_Ubuntu安装mysql及常用SQL操作语句
- 面试准备每日五题:C++(六)——CC++、staticconstextern、sizeof strlen、指针引用、数组指针指针数组函数指针