JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 可以理解为是一种跨语言的文本格式(即与具体语言无关),方便数据传输与协作,易于人阅读和编写,同时也易于机器解析和生成。
JSON格式很简单,下面举一个例子来说明:
{ "seed": "QQQ"
"id": 1,
"n_validation": [2, 3, 4, 5, 6],
"TEXT": [
{
"test": "A",
"count": 2
},
{ "test": "B",
"count": 1
}
]
}
上面的这个文本就是按照JSON格式生成的,可以看到JSON格式是基于两种元素构建的:
1. 键值对:如 “seed”就是键,“药品”就是值, 类似于Python中的字典
2. 值的有序列表:如键“n_validation”所对应的值[2, 3, 4, 5, 6]即为一个列表
下面描述格式规范:
JSON对象是一个无序的键值对的集合。一个JSON对象以“{”(左括号)开始,“}”(右括号)结束。每个“键”后跟一个冒号,键值对之间使用逗号分隔。
数组是值的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用逗号分隔。
最后,键值对和JSON对象可以进行嵌套,如键为”TEXT”的值所示。
下面以Python为例介绍JSON的导入与导出(JSON模块是Anaconda自带的,不用另行安装):
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}
import json
jsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}'
text = json.loads(jsonData)
prin(text)
以上代码执行结果为:
{u'a': 1, u'c': 3, u'b': 2, u'e': 5, u'd': 4}