基本概念
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。JSON采用独立于语言的文本格式,但是也使用了类似C语言家族的习惯(包括C,C++,C#,Java,Python等)。这些特性使JSON称为理想的数据交换语言。详细见 http://json.org/ 。
JSON语法
对于JSON,觉得掌握三个概念可以入门了。分别是对象、数据、数组。
1、JSON对象使用在大括号中书写。例如下面就是一个对象:
{“name”:”Jack”, “age”:18, “hobby”:[“reading”,18]}
2、JSON数据的书写格式:key/value。上面对象第一个数据就是 “name”:”Jack”,其中name是key,字符串“Jack”是value。JSON对象也可以是作为value。
3,数组是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。例如:
[“cynthia”, “is testing”, “age”]。
simplejson模块
simplejson模块主要用于将Python数据类型转换成json类型。在json的编码过程中,会存在从python原始类型向json类型的转化过程,具体的转化对照如下:
simplejson的主要函数:
- dumps():将python字典json化。
- dump();对文件对象的处理。
- loads():解析json字符串。
示例演示
我们将Python数据保存在文件中,并从文件中解析处理。
import simplejson
def SaveJSON():
txtDict = {"name": "simplejson" , "version": 3.8}
#json dict of python
print simplejson.dumps(txtDict)
#save as a txt
with open("./json.txt", "wb") as fp:
simplejson.dump(txtDict, fp)
def LoadJSON():
with open("./json.txt", "rb") as fp:
print simplejson.load(fp)
if __name__ == '__main__':
SaveJSON()
LoadJSON()