Python模块(json)
json
json模块,用来处理json风格的数据
一、json的数据格式
json是javascripts的标准格式,json的格式是由若干个 键/值(key,values) 对的集合,该集合可以理解为字典里面可以嵌套键值对
values 可以是string、int等类型,也可以是数组,数组用 [] 表示,等同于python的列表
可以用在python中处理字典的数据类型
一个jison风格的数据:
var testJson = {
"Name" : "奥巴马" ,
"ByName" : ["小奥","小巴","小马"], #表示一个数组,可以理解成python中的list
"Education" : {
"GradeSchool" : "华盛顿第一小学",
"MiddleSchool" : ["华盛顿第一初中" , "华盛顿第一高中"],
"University" : {
"Name" : "哈佛大学",
"Specialty" : ["软件工程","会计"]
}
}
}
二、json序列化
如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML,但更好的方法是序列化为JSON,因为JSON表示出来就是一个字符串,可以被所有语言读取,也可以方便地存储到磁盘或者通过网络传输。JSON不仅是标准格式,并且比XML更快,而且可以直接在Web页面中读取,非常方便。 JSON表示的对象就是标准的JavaScript语言的对象,JSON和Python内置的数据类型对应如下:
****在不同的语言中传递或共享对象,就必须把对象序列化成为标准格式,做好序列化成json的格式,不仅快而且表示出来就是一个字符串
####json序列化的使用 与pickle一样,同样支持dump(s)与load(s) ****定义两个对象,string和dict >>> dict2 {'job': 'it', 'age': 20, 'name': 'weimin'} >>> string 'string' ****dumps将dict2序列化 >>> json.dumps(dict2) '{"job": "it", "age": 20, "name": "weimin"}' ****loads将dict2反序列化 >>> json.loads('{"job": "it", "age": 20, "name": "weimin"}') {u'job': u'it', u'age': 20, u'name': u'weimin'} #注意是unicode ****将dict对象序列化到文件中 >>> dict2 {'job': 'it', 'age': 20, 'name': 'weimin'} >>> >>> f = open('/var/tmp/json.json','w') >>> json.dump(dict2,f) >>> del dict2 ****将dict从文件中反序列化到内存 >>> f = open('/var/tmp/json.json') >>> dict2 = json.load(f) >>> dict2 {u'job': u'it', u'age': 20, u'name': u'weimin'} #注意返回的是unicode
Python模块(json)的更多相关文章
- Python模块——json
简介 json全名是JavaScript Object Notation(即:Javascript对象标记).它是JavaScript的子集,JSON是轻量级的文本数据交换格式.前端和后端进行数据交互 ...
- 潭州课堂25班:Ph201805201 python 模块json,os 第六课 (课堂笔记)
json 模块 import json data = { 'name':'aa', 'age':18, 'lis':[1,3,4], 'tupe':(4,5,6), 'None':None } j = ...
- python模块-json、pickle、shelve
json模块 用于文件处理时其他数据类型与js字符串之间转换.在将其他数据类型转换为js字符串时(dump方法),首先将前者内部所有的单引号变为双引号,再整体加上引号(单或双)转换为js字符串:再使用 ...
- python模块--json \ pickle \ shelve \ XML模块
一.json模块 之前学习过的eval内置方法可以将一个字符串转成一个python对象,不过eval方法时有局限性的,对于普通的数据类型,json.loads和eval都能用,但遇到特殊类型的时候,e ...
- day19 python模块 json模块 pickle模块
day19 python 一.序列化模块 序列类型: 列表 字符串 元组 bytes 序列化: 特指字符串和bytes, 就是把其他的数据类型转化成序列的数据类型的过程 dic = ...
- python 模块-json
1.JSON(Javascript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programming Lan ...
- python 模块之-json
python 模块json import json x="[null,true,false,1]" print(json.loads(x)) #---------------- ...
- python模块(json和pickle模块)
json和pickle模块,两个都是用于序列化的模块 • json模块,用于字符串与python数据类型之间的转换 • pickle模块,用于python特有类型与python数据类型之间的转换 两个 ...
- python模块time&datetime&json & picle&14.logging等
本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpars ...
随机推荐
- 虚拟机下CentOS找不到网卡eth0的解决方法
1. vi /etc/sysconfig/network-scripts/ifcfg-eth0 2. 将其中的ONBOOT属性改成yes即可 2015-8-3更新: 今天发现通过VirtualBo ...
- 各分支Linux的镜像下载地址
https://openstack.redhat.com/Image_resources http://fedoraproject.org/en/get-fedora#clouds https ...
- Angualar:指令大全
指令: 内置渲染指令 内置事件指令 内置节点指令 自定义指令 restrict template replace属性 templateUrl属性 trnsclude priorty terminal属 ...
- velocity学习记录
一.引入文件 静态引入:#include("./footer.vm.html") 动态引入:#parse("./header.vm.html") 说明:./为v ...
- 第十章:鸟哥的Linux私房菜
第十章.vim程式编辑器 1. vi与vim 1.1 为何要学vim2. vi的使用 2.1 简易执行范例 2.2 按键说明 2.3 一个案例的练习 2.4 vim的暂存档.救援回复与开启时的警告讯息 ...
- nginx配置相关
一.autoindex on; 能解决无端端的403问题. 二.NGINX配置超时时间 1.啥时候用到 用来设置请求资源和服务器返回的时间,保证一个请求占用固定时间,超出后报504超时!这样可以保证一 ...
- ie6 css sprites重复加载问题
_html{zoom:expression(function(ele){ele.style.zoom = "1";document.execCommand("Backgr ...
- 超简单的处理JSON格式和JSON数组格式的String
现在网站上有不少处理JSON格式的工具类,但是我找了一天,发现大都是需要编写相应对象类来进行处理,比较麻烦,比如:Gson,json-lib.Gson,json-lib这些处理那些接口之类的参数名字和 ...
- 【Android测试】【随笔】模拟长按电源键
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5195121.html 起因 昨天群里看到有人问如何实现一个 ...
- 转: PE rva to raw 虚拟偏移地址和文件物理偏移地址
+---------+---------+---------+---------+---------+---------+| 段名称 虚拟地址 虚拟大小 物理地址 物理大小 标志 |+-------- ...