结论,
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()
结果: