json -- JSON操作
描述: 1). 编码Python对象为JSON字符串 import json print json.dumps(['foo', {'bar':('baz', None, 1.0, 2)}]) 2). 解码JSON字符串为Python对象 import json print json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]') #输出: [u'foo', u'bar':[u'baz', None, 1.0, 2]}]基本用法: (1). json.dump(obj, fp, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=Fals, **kw) 将Python对象转为JSON字符串,并存储到写打开的文件fp中 skipkeys: 若设置为True(默认:False),则当字典key不是(str, unicode, int, long, float, bool, None)时会跳过该项(默认抛出TypeError错误) ensure_ascii: 若设置为True(默认为True),输出中所有非ASCII字符,会转义为\uXXXX indent: 为非负整数,指定缩进宽度(为0或负数则会添加换行),None表示紧凑型输出 separators: 是一个(item_separator, dict_separator)元组,默认为(',', ': ') encoding: 默认编码UTF-8 default(obj): 是一个函数,返回obj的序列化版本或抛出TypeError错误,默认抛出TypeError错误。 sort_keys: 若设置为True(默认为False),输出按字典key的升序 cls: 为JSONEncoder的子类(需覆盖default()方法) (2). 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=Fals, **kw) 将Python对象转为JSON字符串 (3). json.load(fp[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]]) 从文件fp中加载JSON字符串,并转换为Python对象 (4). json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]]) 将JSON字符串转为Python对象 实例: import json obj = { "name" : "hyd", "age" : 25, "sex" : "M", "list" : [1, 1.0, None, "www"] } jsonStr = json.dumps(obj) print jsonStr print json.loads(jsonStr)