python中json.dumps()和str()的区别

结论,

dict 会自动把 " 转为 '
str 每个字符和dict的一样,只是类型变为str
json.dumps() :

  • 会把 ' 转为 "
  • 会把 True False 转为 true false
  • 会把 None 转为 null

因此,dumps后的才能loads,str的不能直接loads

import json

def main():
    mydict = {
     "str": "Bob", 'num': 26, 'flag':True,"null":None}
    mysrt = str(mydict)
    mydumps = json.dumps(mydict)
    print("mydict\t{}\t{}".format(type(mydict),mydict))
    print("mysrt\t{}\t{}".format(type(mysrt),mysrt))
    print("mydumps\t{}\t{}".format(type(mydumps),mydumps))
    print('mysrt==mydumps',mysrt==mydumps)

    # loads_str = json.loads(mysrt)
    loads_dumps = json.loads(mydumps)
    # print("loads_str\t{}\t{}".format(type(loads_str),loads_str))
    print("loads_dumps\t{}\t{}".format(type(loads_dumps),loads_dumps))
    # print('loads_str==loads_dumps',loads_str==loads_dumps)


if __name__ == "__main__":
    main()

结果:

python中json.dumps()和str()的区别_第1张图片

你可能感兴趣的:(Python,json,python)