pythonjson

本章节我们将为大家介绍如何使用 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=true, cls=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=true, cls=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’, none, 1.0, 2)}])

‘[“foo”, {“bar”: [“baz”, null, 1.0, 2]}]’

>>> f = open(‘demo.txt’,’w’)

>>> json.dump(range(100), f)

# 打开 demo.txt 可以看到

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]

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”: [1, 2, 3, 4, 5]}, {“b”: [1, 2, 3]}, {“c”: [“english”, “chinese”]}]

>>> f = open(‘1.txt’)

>>> json.load(f)

[{u’a’: [1, 2, 3, 4, 5]}, {u’b’: [1, 2, 3]}, {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}

Posted in 未分类

发表评论