前言
应该是我理解能力有问题和基础知识不扎实,我实在是理解错了网上关于这两个函数的定义。理解了后再去看文档,文档是正确的。
image.png
我的理解
- json.dumps:把python对象(诸如dict/list/tuple/string等数据结构)转换为字符串。只不过这个字符串比较特别,其特别之处在于它的语法格式同json保持一致。如将字典中的单引号均置为双引号。编码
- json.loads:把json化的字符串转换成对应的python对象(诸如dict/list/tuple/string等数据结构) 解码
实例
def testjson():
dict1={
'name':'xiaoming',
'age':22,
'sex':'man'
}
dict2={
'name':'xiaomei',
'age':13,
'sex':'woman'
}
listDict=[]
listDict.append(dict1)
listDict.append(dict2)
strJson=json.dumps(listDict)
print('dict1:',dict1)
print('listDict原来的样式:',listDict)
print('listDict dumps后的样式:',strJson)
listDict=json.loads(strJson)
print('listDict的类型为:',type(listDict))
print('listDict的值为:',listDict)
if __name__=='__main__':
testjson()
dict1: {'name': 'xiaoming', 'age': 22, 'sex': 'man'}
listDict原来的样式: [{'name': 'xiaoming', 'age': 22, 'sex': 'man'}, {'name': 'xiaomei', 'age': 13, 'sex': 'woman'}]
listDict dumps后的样式: [{"name": "xiaoming", "age": 22, "sex": "man"}, {"name": "xiaomei", "age": 13, "sex": "woman"}]
listDict的类型为: <class 'list'>
listDict的值为: [{'name': 'xiaoming', 'age': 22, 'sex': 'man'}, {'name': 'xiaomei', 'age': 13, 'sex': 'woman'}]
网友评论