关于python:关于python的JSON

39次阅读

共计 2363 个字符,预计需要花费 6 分钟才能阅读完成。

Python JSON

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

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格局,易于人浏览和编写。

JSON 函数
应用 JSON 函数须要导入 json 库:import json。

函数 形容

  1. json.dumps 将 Python 对象编码成 JSON 字符串
  2. json.loads 将已编码的 JSON 字符串解码为 Python 对象
  3. json.dumps
  4. json.dumps 用于将 Python 对象编码成 JSON 字符串。

语法

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)

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

实例

#!/usr/bin/python
import json

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

data2 = json.dumps(data)
print(data2)

以上代码执行后果为:

[{“a”: 1, “c”: 3, “b”: 2, “e”: 5, “d”: 4}]
应用参数让 JSON 数据格式化输入:

实例

#!/usr/bin/python
import json

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

data2 = json.dumps({'a': 'Runoob', 'b': 7}, sort_keys=True, indent=4, separators=(',', ':'))
print(data2)

以上代码执行后果为:

{

"a": "Runoob",
"b": 7

}
python 原始类型向 json 类型的转化对照表:

  1. Python JSON
  2. dict object
  3. list, tuple array
  4. str, unicode string
  5. int, long, float number
  6. True true
  7. False false
  8. None null
    json.loads
    json.loads 用于解码 JSON 数据。该函数返回 Python 字段的数据类型。

语法

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

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

实例

#!/usr/bin/python
import json

jsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

text = json.loads(jsonData)
print(text)

以上代码执行后果为:

{u’a’: 1, u’c’: 3, u’b’: 2, u’e’: 5, u’d’: 4}
json 类型转换到 python 的类型对照表:

  1. JSON Python
  2. object dict
  3. array list
  4. string unicode
  5. number (int) int, long
  6. number (real) float
  7. true True
  8. false False
  9. null None
    更多内容参考:https://docs.python.org/2/library/json.html。

应用第三方库:Demjson
Demjson 是 python 的第三方模块库,可用于编码和解码 JSON 数据,蕴含了 JSONLint 的格式化及校验性能。

Github 地址:https://github.com/dmeranda/demjson

官网地址:http://deron.meranda.us/python/demjson/

环境配置

在应用 Demjson 编码或解码 JSON 数据前,咱们须要先装置 Demjson 模块。本教程咱们会下载 Demjson 并装置:

$ tar -xvzf demjson-2.2.3.tar.gz
$ cd demjson-2.2.3
$ python setup.py install
更多装置介绍查看:http://deron.meranda.us/python/demjson/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}

正文完
 0