在web服务领域,系统之间传递数据最常用的格式便是json,他很容易理解,因为绝大多数场景下,你见到的json数据都和字典是一样的。有时,你复制一段json数据就可以把它当做字典来使用,至少在python中是这样的,然而它们之间并不能划等号,下面的代码将向你展示他们之间的不同
import json
data = {'text': "a/b/c", 3:4}
res = json.dumps(data)
print(res)
data2 = json.loads(res)
print(data2)
程序输出结果
{"text": "a/b/c", "3": 4}
{'text': 'a/b/c', '3': 4}
python字典可以使用json.dumps方法转为json字符串,但这个转换后的字符串却不一定能够使用json.loads方法转为python字典,原因在于,json字符串里,所有的key都必须是字符串。
json数据,从形式上看有两种,一种是大括号形式的object,一种是中括号形式的数组。
对于这两种形式的json数据,我们很难用简练的语言进行描述,但画图却可以将json数据的定义清晰的表达出来,先来看object 形式的json数据
看懂这张图并不难
再来看一下数组形式的json数据
两张图里都出现了value,再将value的定义理解清楚,那么json数据的格式也就了然了
由于value可以是object和array,因此json可以嵌套很多层,这看起来和字典真的非常相似,关于json,其实还有很多细节的地方可以研究,不过掌握到这里对于我们认识理解json就已经足够了,如果你想继续深入研究,推荐你看这篇文章ECMA-404 The JSON Data Interchange Standard.
QQ交流群: 211426309