文章目录
python模块之json
json是一种轻量级的数据交换格式,json模块有两种常用的方法:
json.dumps:将Python对象编码成JSON字符串
json.loads:将已编码的JSON字符串解码为Python对象
json.dump: 不仅可以把Python对象编码为string,还可以写入文件。
json.load: 可以直接load到文件
json.dumps
语法:
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)
实例:
>>> import json
>>> data = [ {'a':1,'b':2,'c':3,'dd':4,'e':'abc'}]
>>> type(data)
<class 'list'>
>>> data[0]
{'a': 1, 'b': 2, 'c': 3, 'dd': 4, 'e': 'abc'}
>>> a = json.dumps(data)
>>> print(a)
[{"a": 1, "b": 2, "c": 3, "dd": 4, "e": "abc"}]
>>> type(a) #转成json之后是字符串类型了。
<class 'str'>
>>> #让json数据格式化输出:
...
>>>
>>> json.dumps({'a':'abcde','bbb':'123'},sort_keys=True,indent=4,separators=(',',':'))
'{\n "a":"abcde",\n "bbb":"123"\n}'
>>> b=json.dumps({'a':'abcde','bbb':'123'},sort_keys=True,indent=4,separators=(',',':'))
>>> print(b)
{
"a":"abcde",
"bbb":"123"
}
>>>
python数据类型向json类型转化对照表:
Python | JSON |
---|---|
dict | object |
list,tuple | array |
str,unicode | string |
int,long,float | number |
True | true |
False | false |
None | null |
json.loads
json.loads用于解码JSON数据。
语法:
json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])
实例:
>>> jsonData = '{"a":1,"B":2,"dd":44,"e":"safa"}'
>>> text = json.loads(jsonData)
>>> print(text)
{'a': 1, 'B': 2, 'dd': 44, 'e': 'safa'}
>>> type(text)
<class 'dict'>
json类型转换到python的类型对照表:
JSON | Python |
---|---|
object | dict |
array | list |
string | unicode |
number(int) | int,long |
number(real) | float |
true | True |
false | False |
null | None |
json.dump
实例:
data = [ { 'a':'A', 'b':(2, 4), 'c':3.0 } ]
with open('output.json','w') as fp:
json.dump(data,fp)
cat output.json
[{"a": "A", "c": 3.0, "b": [2, 4]}]
json.load
实例:
with open('output.json') as fp:
print type(fp)
loaded_json = json.load(fp)
<type 'file'>
# 和之前一样,还是listprint type(decoded_json)
<type 'list'>
# 像访问 data = [ { 'a':'A', 'b':(2, 4), 'c':3.0 } ]一样print decoded_json[0]['a']
A
原文链接:Python模块之json,转载请注明来源!