在Python标准库的json包中,提供了JSONEncoder和JSONDecoder两个类来实现Json字符串和dict类型数据的互相转换。
在Python标准库的json包中,提供了JSONEncoder和JSONDecoder两个类来实现Json字符串和dict类型数据的互相转换。
示例代码如下:
-
#!/usr/bin/python3
-
from json import *
-
if __name__=="__main__":
-
d={}
-
d[ 'a'] =1
-
d[ 'b']=2
-
d[ 3]='c'
-
d[ 4]=['k','k1']
-
#将Python dict类型转换成标准Json字符串
-
k=JSONEncoder().encode(d)
-
print(type(k))
-
print(k)
-
#将json字符串转换成Python dict类型
-
json_str= '{"a":1,"b":2,"3":"c","4":["k","k1"]}'
-
d=JSONDecoder().decode(json_str)
-
print(type(d))
-
print(d)
运行截图:
需要注意的是:标准Json字符串必须使用双引号(")而不能使用单引号('),否则从字符串转换成dict类型会提示出错。
以上代码在Windows下python 3.3下运行通过。
总结, 将Python 的dict类型转换成标准Json字符串用 encode()
def encode(self, o):
"""Return a JSON string representation of a Python data structure.
>>> from json.encoder import JSONEncoder
>>> JSONEncoder().encode({"foo": ["bar", "baz"]})
'{"foo": ["bar", "baz"]}'
"""
还有用 json.dump() 反之用loads是()和 decode()