一、介绍
JavaScript对象表示法是⼀种流行的方式,可将数据格式转化为人为可读的字符串。JSON是JavaScript程序编写数据结构的原生方式。
了解JSON是很有用的,因为很多网站都提供JSON格式的内容作为程序与网站交互的方式。这就是所谓的提供“应用程序编程接口”(Application Programming Interface,API)。访问API和通过URL访问任何其他网页是⼀样的。不同的是,API返回的数据是针对机器格式化的(例如用JSON),API不是人容易阅读的。
下面是JSON格式数据的⼀个例子:键值对形式,逗号分隔,键采用双引号
{"name": "Zophie", "isCat": true,
"miceCaught": 0, "napsTaken": 37.5,
"felineIQ": null}
许多网站都用JSON格式提供数据。Facebook、Twitter、Yahoo、Google、Tumblr、Wikipedia、Flickr、Data.gov、Reddit、IMDb、Rotten Tomatoes、LinkedIn和许多其他流行的网站,都提供API让程序使用。有些网站需要注册,几乎是免费的。你必须找到文档,了解程序需要请求什么 URL 才能获得想要的数据,以及返回的JSON数据结构的⼀般格式。
二、json模块
Python的json模块处理了JSON数据字符串和Python值之间转换的所有细节,并得到了json.loads()和json.dumps()函数。JSON不能存储每⼀种Python值,它只能包含以下数据类型的值:字符串、
整型、浮点型、布尔型、列表、字典和NoneType。JSON不能表示Python特有的对象,如File对象、CSV reader或writer对象、Regex对象或selenium WebElement对象。
三、用loads()函数读取JSON
import json
stringOfJsonData = '{"name": "Zophie", "isCat": true, "miceCaught": 0, "felineIQ": null}'
jsonDataAsPythonValue = json.loads(stringOfJsonData)
print(jsonDataAsPythonValue)
四、用dumps函数写出JSON
import json
pythonValue = {'isCat': True, 'miceCaught': 0, 'name': 'Zophie', 'felineIQ': None}
stringOfJsonData = json.dumps(pythonValue, indent=4)
print(stringOfJsonData)
输出如下:参数ident=4代表缩进4格,使输出看起来更方便