ultraedit格式化json字符串_Python爬⾍⼲货:数据分析⼩能
⼿:JSON库的⽤法
本章节我们将为⼤家介绍如何使⽤ Python 语⾔来编码和解码 JSON 对象。
JSON(JavaScript Object Notation) 是⼀种轻量级的数据交换格式,易于⼈阅读和编写。
JSON 函数
import 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, encoding="utf-8", d 例如:将python数组对象转为JSON字符串
#!/usr/bin/python
import json
data = [ { 'name' : '张三', 'age' : 25}, { 'name' : '李四', 'age' : 26} ]
jsonStr = json.dumps(data)
print(jsonStr)
结果:
[{"name": "u5f20u4e09", "age": 25}, {"name": "u674eu56db", "age": 26}]
例如:让JSON数据格式化输出:
#!/usr/bin/python
import json
data = [ { 'name' : '张三', 'age' : 25}, { 'name' : '李四', 'age' : 26} ]
jsonStr = json.dumps(data, sort_keys=True, indent=4, separators=(',', ': '))
print(jsonStr)
结果:
[
{
"age": 25,
"name": "u5f20u4e09"
},
{
"age": 26,
"name": "u674eu56db"
}
]
上⾯的格式化将汉字转为unicode,在将JSON字符串转为python对象的时候是可以转为汉字的,如果不想转为unicode,可以⽤下⾯⽅法:
#!/usr/bin/python
import json
data = [ { 'name' : '张三', 'age' : 25}, { 'name' : '李四', 'age' : 26} ]
jsonStr = json.dumps(data, ensure_ascii=False)json值的类型有哪些
print(type(jsonStr))
print(jsonStr)
结果:
<class 'str'>
[{"name": "张三", "age": 25}, {"name": "李四", "age": 26}]
python 原始类型向 json 类型的转化对照表:
json.loads 解码 JSON 数据。该函数返回 Python 字段的数据类型。语法:
json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])例如:JSON字符串转py对象
#!/usr/bin/python
import json
data = [ { 'name' : '张三', 'age' : 25}, { 'name' : '李四', 'age' : 26} ]
jsonStr = json.dumps(data)
print(jsonStr)
jsonObj = json.loads(jsonStr)
print(jsonObj)
# 获取集合第⼀个
print(jsonObj[1])
结果
[{"name": "u5f20u4e09", "age": 25}, {"name": "u674eu56db", "age": 26}]
[{'name': '张三', 'age': 25}, {'name': '李四', 'age': 26}]
{'name': '李四', 'age': 26}
json 类型转换到 python 的类型对照表:
Demjson第三⽅库的使⽤
Demjson 是 python 的第三⽅模块库,可⽤于编码和解码 JSON 数据,包含了 JSONLint 的格式化及校验功能。
(1) encode() 函数⽤于将 Python 对象编码成 JSON 字符串。
语法
例如:
#!/usr/bin/python
import demjson
data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]
json = de(data)
print(json)
结果:
[{"a":1,"b":2,"c":3,"d":4,"e":5}]
(2)demjson.decode() 函数解码 JSON 数据。该函数返回 Python 字段的数据类型。语法:
demjson.decode(self, txt)
例如:将json字符串转为JSON对象:
#!/usr/bin/python
import demjson
jsonData = '{"name":"张三","age":20,"sex":"男"}';
obj = demjson.decode(jsonData)
print(obj)
print(type(obj))
结果:
{'name': '张三', 'age': 20, 'sex': '男'}
<class 'dict'>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论