会员登录 - 用户注册 - 设为首页 - 加入收藏 - 网站地图 Nginx   Redis   Python手册   Hadoop   Memcache
当前位置:首页 > Python高级教程 > 正文

Python JSON

时间:2016-03-22 22:29 来源:未知 作者:admin 阅读:

本章节我们将为大家介绍如何使用 Python 语言来编码和解码 JSON 对象。


Python 2.7 自带 JSON 模块【官方文档

1. 从python原始类型向json类型的转换过程,具体的转换如下:

import json
json.dump(obj, fp, skipkeys=False,ensure_ascii=True, check_circular=True, allow_nan=Truecls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False**kw)
 
json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=Truecls=None, indent=None, separators=None, encoding="utf-8",default=None, sort_keys=False**kw)

    python                        json

------------------------------------------

    dict                           object

    list,tuple                   array

    str,unicode               string

    int,long,float             number

    True                          true

    False                        false

    None                        null

>>> import json
>>> json.dumps(['foo', {'bar': ('baz'None1.02)}])
'["foo", {"bar": ["baz", null, 1.0, 2]}]'
 
>>> f = open('demo.txt','w')
>>> json.dump(range(100), f)
 
# 打开 demo.txt 可以看到
[0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]

 

 

2. 从 json 类型向 python 的转换过程,具体的转换如下:

import json
json.load(fp[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])
 
json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])

     json                           python

-----------------------------------------

    object                         dict

    array                           list

    string                          str

    number(int)                int

    number(real)              float

    true                            True

    false                           False

    null                             None

>>> import json
>>> json.loads('{"a": 1, "b": 2, "c": 3}'# string to python objects
{u'a'1, u'c'3, u'b'2}
 
 
# 1.txt 中的内容
[{"a": [12345]}, {"b": [123]}, {"c": ["English""Chinese"]}]
 
>>> f = open('1.txt')
>>> json.load(f)
[{u'a': [12345]}, {u'b': [123]}, {u'c': [u'English', u'Chinese']}]

 

旧版本 Python 环境配置(Python中自带json模块的用户不用看)

在使用 Python 编码或解码 JSON 数据前,我们需要先安装 JSON 模块。本教程我们会下载 Demjson 并安装:

$tar xvfz demjson-1.6.tar.gz
$cd demjson-1.6
$python setup.py install

 

JSON 函数

函数 描述
encode 将 Python 对象编码成 JSON 字符串
   
decode 将已编码的 JSON 字符串解码为 Python 对象
   
   

encode

Python encode() 函数用于将 Python 对象编码成 JSON 字符串。

语法

demjson.encode(self, obj, nest_level=0)

 

实例

以下实例将数组编码为 JSON 格式数据:

#!/usr/bin/python
import demjson
 
data = [ { 'a' 1'b' 2'c' 3'd' 4'e' 5 } ]
 
json = demjson.encode(data)
print json

 

以上代码执行结果为:

[{"a":1,"b":2,"c":3,"d":4,"e":5}]

 


decode

Python 可以使用 demjson.decode() 函数解码 JSON 数据。该函数返回 Python 字段的数据类型。

语法

demjson.decode(self, txt)

 

实例

以下实例展示了Python 如何解码 JSON 对象:

#!/usr/bin/python
import demjson
 
json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
 
text = demjson.decode(json)
print  text

 

以上代码执行结果为:

{u'a'1, u'c'3, u'b'2, u'e'5, u'd'4}

(责任编辑:admin)

顶一下
(0)
0%
踩一下
(0)
0%
推荐内容
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
¹رÕ/a>