Python 中 的 json 模块

python 中的json 模板主要的两个功能:序列化和反序列化
序列化: encoding   将python 数据 编码成json 字符串
对应的函数有 dump 和 dumps
反序列化: decoding  将json 字符串 解码成 python 数据
对应的函数有 load 和 loads

json 序列化 dumps 实例:

Base example

>>> import json
>>> data=[‘foo‘, {‘bar‘: (‘baz‘, None, 1.0, 2)}]
>>> print data
[‘foo‘, {‘bar‘: (‘baz‘, None, 1.0, 2)}]
>>> json_data=json.dumps(data)
>>> print json_data
["foo", {"bar": ["baz", null, 1.0, 2]}]
>>>

Compact encoding(压缩编码)

>>> import json
>>> data = [1,2,3,{‘4‘: 5, ‘6‘: 7}]
>>> print data
[1, 2, 3, {‘4‘: 5, ‘6‘: 7}]
>>> data_json = json.dumps(data)
>>> print data_json
[1, 2, 3, {"4": 5, "6": 7}]
>>> data_json2 = json.dumps(data,sort_keys=True)
>>> print data_json2
[1, 2, 3, {"4": 5, "6": 7}]
>>> data_json2 = json.dumps(data,sort_keys=True,separators=(‘,‘,‘:‘))
>>> print data_json2
[1,2,3,{"4":5,"6":7}]

参数 separators 将 , 和 : 后门的空格剔除掉了。 separators 的值必须是一个 tuple
帮助中的英文注释:
If specified, separators should be a (item_separator, key_separator) tuple.

The default is (‘, ‘, ‘: ‘).  To get the most compact JSON
representation you should specify (‘,‘, ‘:‘) to eliminate whitespace.

Pretty printing(一种格式化输出)

>>> data_json3 = json.dumps(data,sort_keys=True,indent=4,separators=(‘,‘,‘:‘))
>>> print data_json3
[
    1,
    2,
    3,
    {
        "4":5,
        "6":7
    }
]

indent 会让每个键值对显示的时候,以缩进几个字符对齐。以方便查看
帮助中的英文注释:
If indent is a non-negative integer, then JSON array elements and object members will be pretty-printed with that indent level.  An indent level of 0 will only insert newlines.None is the most compact representation.  Since the default item separator is ‘, ‘,  the output might include trailing whitespace when indent is specified.  You can use separators=(‘,‘, ‘: ‘) to avoid this.

josn 反序列化 loads 实例:

>>> obj = [u‘foo‘, {u‘bar‘: [u‘baz‘, None, 1.0, 2]}]
>>> str_json = ‘["foo", {"bar":["baz", null, 1.0, 2]}]‘
>>> obj2 = json.loads(str_json)
>>> print obj2
[u‘foo‘, {u‘bar‘: [u‘baz‘, None, 1.0, 2]}]
>>> obj2 == obj
True

大数据处理:
以上不论时序列化的dumps 和 反序列化的loads 。所针对的数据都是一个json 字符串 或者时 一个python 的数据结构。那么当遇到了大量的json数据(如一个json 的配置文件)
或者 将一个python 的数据结构导出成一个json 的配置文件。

#! /usr/bin/env python
# _*_ encoding: utf-8 _*_

import json

# dump example
data = [{‘lang‘:(‘python‘,‘java‘),‘school‘:"beijing"},"God"]
f = open(‘test.json‘,‘w+‘)
json.dump(data,f)
f.flush()
f.close()

# load example
fd = file("test.json")
js = json.load(fd)
print js

奇淫巧计:

python 的 json 结合 shell 输出

$ echo ‘{"json":"obj"}‘ | python -m json.tool
  {
       "json": "obj"
  }
时间: 2024-10-10 09:50:24

Python 中 的 json 模块的相关文章

python中的json模块

json模块 JSON就是JavaScript Object Notation,这个模块完成了python对象和JSON字符串的互相转换! json是一种很多语言支持的通用语言 作用:如下,作为一个桥梁 在api接口中数据调用传输中常用 php数据类型 <----> json格式  <--->  python java数据类型 <----> json格式  <----> python Mysql Text类型 <----> json格式  <

Python中的Json模块dumps、loads、dump、load函数介绍

Json模块dumps.loads.dump.load函数介绍 1.json.dumps() json.dumps() 用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数. 2.json.dump() json.dump()用于将dict类型的数据转成str,并写入到json文件中.下面两种方法都可以将数据写入json文件 import json name_emb = {'a':'1111','b':'2222','

python 中的json模块

---恢复内容开始--- .dumps()//将各种数据类型转换成json字符串类型:.loads()//将json字符串类型还原成各种数据类型.. 一步实现将各种类型转换成字符串,然后写入磁盘中: json.load(f)//一步实现从磁盘中读取字符串,并将字符串转换成各种数据类型, ---恢复内容结束--- 原文地址:https://www.cnblogs.com/jefy/p/9308770.html

python中动态导入模块

如果导入的模块不存在,Python解释器会报 ImportError 错误: >>> import something Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named something 有的时候,两个不同的模块提供了相同的功能,比如 StringIO 和 cStringIO 都提供了Strin

python中的json的基本使用方法

在python中使用json的时候,主要也就是使用json模块,json是以一种良好的格式来进行数据的交互,从而在很多时候,可以使用json数据格式作为程序之间的接口, #!/usr/bin/env python #-*- coding:utf-8 -*- import json print json.load(open('kel.txt')) #deserialize string or unicode to python object j = json.loads(open('kel.txt

Python自动化四--json模块使用,集合操作,函数

内容: json模块 集合操作 函数 一,json模块 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个函数: json.dump(): 对数据进行编码. json.load(): 对数据进行解码. json格式存储--小例子 import json stu_info = { 'laowang':{ 'cars':['BMW

Python中的random模块,来自于Capricorn的实验室

Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0 random.uniform random.uniform的函数原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限.如果a > b,则生成的随机数n: a <= n <= b.如果 a <

python中查看可用模块

1.这种方式的问题是,只列出当前import进上下文的模块. 进入python命令行.输入以下代码: >>>import sys >>>sys.modules 2.在python命令行下输入: >>>help() help>modulespython中查看可用模块,布布扣,bubuko.com

Python中的random模块

Python中的random模块 (转载自http://www.cnblogs.com/yd1227/archive/2011/03/18/1988015.html) Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0 random.uniform random.uniform的函数原型为:random.uniform(a, b),