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)的更多相关文章

  1. Python模块——json

    简介 json全名是JavaScript Object Notation(即:Javascript对象标记).它是JavaScript的子集,JSON是轻量级的文本数据交换格式.前端和后端进行数据交互 ...

  2. 潭州课堂25班:Ph201805201 python 模块json,os 第六课 (课堂笔记)

    json 模块 import json data = { 'name':'aa', 'age':18, 'lis':[1,3,4], 'tupe':(4,5,6), 'None':None } j = ...

  3. python模块-json、pickle、shelve

    json模块 用于文件处理时其他数据类型与js字符串之间转换.在将其他数据类型转换为js字符串时(dump方法),首先将前者内部所有的单引号变为双引号,再整体加上引号(单或双)转换为js字符串:再使用 ...

  4. python模块--json \ pickle \ shelve \ XML模块

    一.json模块 之前学习过的eval内置方法可以将一个字符串转成一个python对象,不过eval方法时有局限性的,对于普通的数据类型,json.loads和eval都能用,但遇到特殊类型的时候,e ...

  5. day19 python模块 json模块 pickle模块

    day19 python   一.序列化模块     序列类型: 列表 字符串 元组 bytes     序列化: 特指字符串和bytes, 就是把其他的数据类型转化成序列的数据类型的过程 dic = ...

  6. python 模块-json

    1.JSON(Javascript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programming Lan ...

  7. python 模块之-json

    python 模块json import json x="[null,true,false,1]" print(json.loads(x))   #---------------- ...

  8. python模块(json和pickle模块)

    json和pickle模块,两个都是用于序列化的模块 • json模块,用于字符串与python数据类型之间的转换 • pickle模块,用于python特有类型与python数据类型之间的转换 两个 ...

  9. python模块time&datetime&json & picle&14.logging等

    本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpars ...

随机推荐

  1. 虚拟机下CentOS找不到网卡eth0的解决方法

    1. vi /etc/sysconfig/network-scripts/ifcfg-eth0 2. 将其中的ONBOOT属性改成yes即可   2015-8-3更新: 今天发现通过VirtualBo ...

  2. 各分支Linux的镜像下载地址

    https://openstack.redhat.com/Image_resources   http://fedoraproject.org/en/get-fedora#clouds   https ...

  3. Angualar:指令大全

    指令: 内置渲染指令 内置事件指令 内置节点指令 自定义指令 restrict template replace属性 templateUrl属性 trnsclude priorty terminal属 ...

  4. velocity学习记录

    一.引入文件 静态引入:#include("./footer.vm.html") 动态引入:#parse("./header.vm.html") 说明:./为v ...

  5. 第十章:鸟哥的Linux私房菜

    第十章.vim程式编辑器 1. vi与vim 1.1 为何要学vim2. vi的使用 2.1 简易执行范例 2.2 按键说明 2.3 一个案例的练习 2.4 vim的暂存档.救援回复与开启时的警告讯息 ...

  6. nginx配置相关

    一.autoindex on; 能解决无端端的403问题. 二.NGINX配置超时时间 1.啥时候用到 用来设置请求资源和服务器返回的时间,保证一个请求占用固定时间,超出后报504超时!这样可以保证一 ...

  7. ie6 css sprites重复加载问题

    _html{zoom:expression(function(ele){ele.style.zoom = "1";document.execCommand("Backgr ...

  8. 超简单的处理JSON格式和JSON数组格式的String

    现在网站上有不少处理JSON格式的工具类,但是我找了一天,发现大都是需要编写相应对象类来进行处理,比较麻烦,比如:Gson,json-lib.Gson,json-lib这些处理那些接口之类的参数名字和 ...

  9. 【Android测试】【随笔】模拟长按电源键

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5195121.html 起因 昨天群里看到有人问如何实现一个 ...

  10. 转: PE rva to raw 虚拟偏移地址和文件物理偏移地址

    +---------+---------+---------+---------+---------+---------+| 段名称 虚拟地址 虚拟大小 物理地址 物理大小 标志 |+-------- ...