Python JSON

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

JSON 函数

使用 JSON 函数需要导入 json 库:import json

函数 描述
json.dumps 将Python对象编码或JSON字符串
json.loads  将已编码的JSON字符串编码为PYTHON对象

 

 

语法

json.dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True,allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw):

实例

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

1 >>> import json
2 >>> data = {'Status': 0, 'Message': '成功', 'TotalPage': 178, 'Keyword': "fu'yao", 'SourceName': 'Portfolio'}
3 >>> json.dumps(data)
4 '{"Status": 0, "Message": "\\u6210\\u529f", "TotalPage": 178, "Keyword": "fu\'yao", "SourceName": "Portfolio"}'
5 >>> 
1 >>> json.dumps(data, ensure_ascii=True)
2 '{"Status": 0, "Message": "\\u6210\\u529f", "TotalPage": 178, "Keyword": "fu\'yao", "SourceName": "Portfolio"}'
3 >>> 
4 >>> json.dumps(data, ensure_ascii=False)
5 '{"Status": 0, "Message": "成功", "TotalPage": 178, "Keyword": "fu\'yao", "SourceName": "Portfolio"}'
6 >>> 

使用参数让 JSON 数据格式化输出:

1 >>> print(json.dumps(data, ensure_ascii=False, sort_keys=True, indent=4))
2 {
3     "Keyword": "fu'yao",
4     "Message": "成功",
5     "SourceName": "Portfolio",
6     "Status": 0,
7     "TotalPage": 178
8 }
9 >>> 
 

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

PythonJSON
dict object
list, tuple array
str, unicode string
int, long, float number
True true
False false
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 对象:

1 >>> json_str = '{"Status": 0, "Message": "成功", "TotalPage": 178, "Keyword": "fu\'yao", "SourceName": "Portfolio"}'
2 >>> json.loads(json_str)
3 {'Status': 0, 'Message': '成功', 'TotalPage': 178, 'Keyword': "fu'yao", 'SourceName': 'Portfolio'}
4 >>> 

json 类型转换到 python 的类型对照表:

JSONPython
object dict
array list
string unicode
number (int) int, long
number (real) float
true True
false False
null None

 

 

 

 

 

 

 

更多内容参考:https://docs.python.org/3.6/library/json.html

posted @ 2019-01-10 19:43  Eagle_Fly  阅读(222)  评论(0编辑  收藏  举报