什么是JSON?
JSON是一种数据格式,由美国程序设计师DouglasCrockford创建的,JSON全名是JavaScript Object Notation,由JSON英文全文字义我们可以推敲JSON的缘由,最初是为JavaScript开发的。这种数据格式由于简单好用被大量应用在Web开发与大数据数据库(NoSQL),现在已成为一种著名数据格式,Python与许多程序语言同时采用与支持。也由此在使用Python设计程序时,可以将数据以JSON格式存储,与其他程序语言的设计师分享。
(摘自《python王者归来》)JSON链接网址:JSON
正文
JSON的数据格式
JSON的数据格式就类似于python中的字典“{ }”和列表“[ ]”。所以建议先学一下Python的字典和列表。
#json数据的格式可以是:
{'红茶':30,'绿茶':20,'茉莉花茶':40}
{'红茶':30,'绿茶':20,'茉莉花茶':40}
# #也可以是:
[{'红茶':30,'绿茶':20,'茉莉花茶':40},{'红茶':30,'绿茶':20,'茉莉花茶':40},]
官网解释:
在json中对象就是用“键-值(key:value)”方式配对存储,对象内容用左大括号“{”开始,右大括号“}”结束,键(key)和值(value)用“:”区隔,每一组键:值间以逗号“,”隔开。
数组基本上是一系列的值(value)所组成,用左中括号“[”开始,右中括号“]”结束。各值之间用逗号“,”隔开。
PYTHON和JSON数据的转换
使用dumps()将Python数据转成json格式
import json
data = [{'红茶':30},{'绿茶':20},{'茉莉花茶':40}]
json_str = json.dumps(data, ensure_ascii=False)
print(type(json_str))
print(json_str)
ensure_ascii=False: 中文的显示,如果没有此代码,将会有下面的显示:
<class 'str'>
[{"\u7ea2\u8336": 30}, {"\u7eff\u8336": 20}, {"\u8309\u8389\u82b1\u8336": 40}]
使用loads()将json格式数据转成Python的数据
import json
data ='[{"红茶":30},{"绿茶":20},{"茉莉花茶":40}]'
l =json.loads(data)
print(type(l))
print(l)
小结
JSON(JavaScript Object Notation)是一种轻量级、易于阅读和编写的数据交换格式,它使用文本格式来存储和表示数据,完全独立于任何编程语言。在Python中,使用JSON具有显著的优势,因为JSON的结构与Python的字典和列表非常相似。JSON对象可以视为一个字典,其中键是字符串,值可以是字符串、数字、布尔值、数组或另一个JSON对象。而JSON数组则相当于Python中的列表,可以包含多个值。
这种相似性使得Python能够轻松地将JSON数据转换为Python的字典或列表,反之亦然。这种无缝转换极大地简化了数据在Python和JSON之间的处理过程,减少了繁琐的编码和解码工作。因此,Python开发人员可以更加高效地使用JSON数据进行数据存储、传输和交换,从而提高开发效率和程序性能。