#-*-coding:utf-8-*- '''编码格式记得统一,不然容易出现中文乱码,推荐用utf-8''' import json ##################json单对象############################## #声明初始化一个变量 obj={'name':'张三', 'email':'ljq@gmail.com'} print type(obj) #<type 'dict'> #字典转为json #json_obj=json.dumps(obj) json_obj=json.dumps(obj, ensure_ascii=False) #解决中文乱码 print type(json_obj) #<type 'str'> print json_obj #{"name": "ljq", "email": "ljq@gmail.com"} #字符串转为json str="{'name':'李四', 'email':'lisi@gmail.com'}" #json_str=json.dumps(str) json_str=json.dumps(str, ensure_ascii=False) print json_str #"{'name':'张安', 'email':'ljq@gmail.com'}" #json转为字典 dict_obj=json.loads(json_obj) #如果传入的对象的编码不一致的话,需要用encoding指定字符编码 #dict_obj=json.loads(json_obj, encoding="utf8") print type(dict_obj) #<type 'dict'> print dict_obj.get('name','') #json转为字符串 unicode_str=json.loads(json_str) dict_str=eval(unicode_str) print type(unicode_str) #<type 'unicode'> print type(dict_str) print dict_str.get('name', '') ##################json数组############################## arrays=[ {'name':'zhangsan', 'age':10}, {'name':'lisi', 'age':20}, {'name':'wangwu', 'age':30} ] arrays_json=json.dumps(arrays) print type(arrays_json) #<type 'str'> for obj in json.loads(arrays_json): #print type(obj) #<type 'dict'> print obj.get('age', '') ##################django内置json---simplejson############################## ''' import simplejson as json #几个主要函数:dump、dumps、load、loads,带s跟不带s的区别: 带s的是对 字符串的处理,而不带 s的是对文件对像的处理。 json、simplejson效率比较:simplejson在效率上来得有优势,推荐用simplejson '''