「这是我参与11月更文挑战的第13天,活动详情查看:2021最后一次更文挑战」
来个书面化讲解:
什么是JSON?
JSON (JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写。
是用来存储和交换文本信息的语法。
son,是一种数据格式,在与后端的数据交互中有较为广泛的应用。
数据在名称/值对中
数据由逗号分隔
大括号保存对象
中括号保存数组
使用 JSON 函数需要导入 json 库:import json。
json,用于字符串 和 python数据类型间进行转换json模块提供了四个功能:dumps、dump、loads、load
- json.dumps 将 Python 对象编码成 JSON 数据
- json.dump 将 JSON 数据通过特殊的形式转换为只有 Python 认识的字符串并写入文件
- json.loads 将已编码的 JSON 数据解码为 Python 对象
- json.load 将一个包含 JSON 格式数据的可读文件解码为一个 Python 对象并写入文件
一,python对象和JSON字符串相互转换:
- 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 数据格式化输出:
import json
print json.dumps({'a': 'Runoob', 'b': 7}, sort_keys=True, indent=4, separators=(',', ': '))
输出为:
{
"a": "Runoob",
"b": 7
}
python原始类型向json类型的转换对照表:
Python: JSON:
dict object
list,tuple array
str,unicode string
int,long,float number
True true
False false
None null
例子:
将数组编码为JSON格式数据。
import json
data = [{'a':1,'b':2,'c':3,'d':4,'e':5}]
json = json.dumps(data)
print json 执行结果为:[{"a":1,"c":3,"b":2,"e":5,"d":4}]
2. json.loads 用于解码JSON数据。该函数返回Python字段的数据类型。
语法:
json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])
JSON: JavaScript Object Notation(JavaScript 对象表示法)
JSON 是存储和交换文本信息的语法,类似 XML。
JSON 比 XML 更小、更快,更易解析。
例如:
Python解码JSON对象。
import json
jsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
text = json.loads(jsonData)
print(text) 输出结果为: {'a': 1, 'c': 3, 'b': 2, 'e': 5, 'd': 4}
json类型转换到python的类型对照表:
JSON: Python:
object dict
array list
string unicode
number(int) int,long
number(real) float
true True
false False
null None