python开发第三⽅库_python第三⽅库系列之⼀--json库
⼀、先讲讲json的出现,就要先讲讲序列化
1. 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过⽹络传输的过程,传输的格式可以是JSON、XML等。反序列化就是从存储区域(JSON,XML)读取反序列化对象的状态,重新创建该对象。
2. 为什么要⽤json传输数据,这⾥就要⽐较两种传输数据的⽅式:xml和json。它们之间有什么区别呢?
JSON(JavaScript Object Notation) 是⼀种轻量级的数据交换格式。易于⼈阅读和编写。同时也易于机器解析和⽣成。
XML 全称是可扩展标记语⾔(EXtensible Markup Language),是⼀种类似与HTML的语⾔,是被设计⽤来描述数据的语⾔,重量级。
JSON和XML的轻/重量级的区别在于:JSON只提供了整体解析⽅案,⽽这种⽅法只在解析较少的数据时才能起到良好效果;⽽XML提供了对⼤规模数据的逐步解析⽅案,这种⽅案很适⽤于对⼤量数据的处理。
Python2.6开始加⼊了JSON模块,⽆需另外下载,Python的Json模块序列化与反序列化的过程分别是 encoding和 decoding。
encoding:把⼀个Python对象编码转换成Json字符串。
decoding:把Json格式字符串解码转换成Python对象
从python转为json的官⽅数据格式为:
Python
linux安装sqliteJSON
dict
object
list, tuple
array
str, unicode
string
int, long, float
number
Trueidentigene
angular动态绑定属性true
False
false
None
null 从json转为python的官⽅数据格式为:
head>
JSON
Python
object
dict
array
list
string
unicode
number (int)
int, long
number (real)
float
truepython解析json文件
True
false
False
null
None
⼆、基于Python的第三⽅库
实 际上JSON就是Python字典的字符串表⽰,但是字典作为⼀个复杂对象是⽆法直接转换成定义它的代码的字符串,Python有⼀个叫simplejson的库可以⽅便的完成JSON的⽣成和解析,这个包已经包含在Python2.6中,就叫json 主要包含四个⽅法: dump和
dumps(从Python⽣成JSON),load和loads(解析JSON成Python的数据类型)dump和dumps的唯⼀区别是 dump会⽣成⼀个类⽂件对象,dumps会⽣成字符串,同理load和loads分别解析类⽂件对象和字符串格式的JSON。
1. Python
2.6⾃带json库
(1) dumps(dump)⽅法:对简单数据类型encoding;
(2)loads(load)⽅法:处理简单数据类型的decoding(解码)转换
json库的⽅法:
tart="1">
json_str1 = '{"name":"test", "type":"haha"}'
solr实现原理json_struct1 = json.loads(json_str1) #个⼈觉得load()=JSONDecoder().decode()
json_decode_struct = json.JSONDecoder().decode(json_str1)
json_struct2 = {'name':'test', 'type':'haha'}
ossd申请香港大学json_str2 = json.dumps(json_struct2)
json_encode_str = json.JSONEncoder().encode(json_struct2)
2. simple库
simplejson库就是Python2.6⾃带的json库
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论