推荐观看:如何学习python?如何学习蟒蛇?如何高效学习python?JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于人类读写。JSON函数需要导入json库才能使用JSON函数:importjson.函数说明:json.dumps将Python对象编码成JSON字符串json.loads将编码后的JSON字符串解码成Python对象语法:json.dumps(obj,skipkeys=False,ensure_ascii=True,check_circular=True,allow_nan=True,cls=None,indent=None,separators=None,encoding="utf-8",default=None,sort_keys=False,**kw)例如:将python数组对象转换为JSON字符串#!/usr/bin/pythonimportjsondata=[{'姓名':'张三','年龄':25},{'姓名':'李四','年龄':26}]jsonStr=json.dumps(data)print(jsonStr)result:[{"name":"u5f20u4e09","age":25},{"name":"u674eu56db","age":26}]例如:让JSON数据格式输出:#!/usr/bin/pythonimportjsondata=[{'name':'张三','age':25},{'name':'李四','age':26}]jsonStr=json.dumps(data,sort_keys=True,indent=4,separators=(',',':'))print(jsonStr)结果:[ { "年龄":25, "姓名":"u5f20u4e09" }, { "age":26, "name":"u674eu56db" }]以上格式将汉字转换为unicode,并将JSON字符串转换为python对象,可以转换为汉字。如果不想转成unicode,可以用下面的方法:#!/usr/bin/pythonimportjsondata=[{'name':'张三','age':25},{'name':'李斯','年龄':26}]jsonStr=json.dumps(data,ensure_ascii=False)print(type(jsonStr))print(jsonStr)result:[{"name":"张三","age":25},{"name":"李四","age":26}]Python原始类型转json类型对照表:json.loads 解码JSON数据该函数返回Python字段的数据类型。语法:json.loads(s[,encoding[,cls[,object_hook[,parse_float[,parse_int[,parse_constant[,object_pairs_hook[,**kw]]]]]]]]例如:JSON字符串转py对象#!/usr/bin/pythonimportjsondata=[{'姓名':'张三','年龄':25},{'姓名':'李四','年龄':26}]jsonStr=json.dumps(data)print(jsonStr)jsonObj=json.loads(jsonStr)print(jsonObj)#获取集合的第一个print(jsonObj[1])结果[{"name":"u5f20u4e09","age":25},{"name":"u674eu56db","age":26}][{'name':'张三','age':25},{'name':'李四','age':26}]{'name':'李四','age':26}json类型转python类型对照表:Demjson第三方库的使用Demjson是python的第三方模块库,可以用来编码anddecodeJSONdata,包含了JSONLint的格式化和验证功能.(1)encode()函数用于将Python对象编码为JSON字符串。语法demjson.encode(self,obj,nest_level=0)例如:#!/usr/bin/pythonimportdemjsondata=[{'a':1,'b':2,'c':3,'d':4,'e':5}]json=demjson.encode(data)print(json)结果:[{"a":1,"b":2,"c":3,"d":4,"e":5}](2)demjson.decode()函数解码JSON数据。该函数返回Python字段的数据类型。语法:demjson.decode(self,txt)例如:将json字符串转成JSON对象:#!/usr/bin/pythonimportdemjsonjsonData='{"name":"张三","age":20,"sex":“男性”}';obj=demjson.decode(jsonData)print(obj)print(type(obj))result:{'name':'张三','age':20,'sex':'M'}