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 ...
随机推荐
- 增加Activity Monitor中的作业保存数量
在Master Server的注册表中加入如下两个键值即可: (1500的单位是小时)
- JavaScript正则验证邮箱
正则表达式/^正则$/.test() <html> <head> <title>JavaScript</title> <meta charset= ...
- Scrum会议7(Beta版本)
组名:天天向上 组长:王森 组员:张政.张金生.林莉.胡丽娜 代码地址:HTTPS:https://git.coding.net/jx8zjs/llk.git SSH:git@git.coding.n ...
- UVALive 7297 bfs
题意 一个小偷偷到了项链 他想知道自己是否可以逃出去 地图中有一个小偷 一个警察 警察有一条狗 一开始 小偷和警察的移动速度都是1 当警察走到小偷经过过的地方时 警察会有一条狗嗅到小偷的气味并且以2的 ...
- mysql join表连接
1.表连接,就是将两个表合并起来,被合并的表的记录要通过中间字段,一一匹配起来左边的表的记录,形成一张临时的合并的表,并且每条记录的值都是两张表一一准确对应的 实例 尝试以下实例: root@host ...
- eclipse中project->clean的作用是什么
1.由于eclipse的编译是基于时间戳的判断机制的.因此当你按build all的时候有些eclipse认为时间戳没有改变的类不会被编译.因此你可以先clean一下再编译.这个时候eclipse ...
- DWZ中关于iframeCallback和validateCallback的注意事项
在DWZ上传中..如果要上传图片.则一定只能使用iframeCallback. 并且要表单中注明enctype="multipart/form-data"
- Capabilities and Limitations of Optimizing Compilers
Computer Systems A Programmer's Perspective Second Edition #include <stdio.h> main(){ int wr; ...
- garbage collection - 垃圾收集
Professional.JavaScript.for.Web.Developers.3rd.Edition.Jan.2012 JavaScript is a garbage-collected la ...
- Arrays.toString Arrays.asList
import java.util.Arrays; public class TestCalc{ public static void main(String[] args) { ,,,,,,,}; / ...