python中字符串类型json *** 作的注意事项

python中字符串类型json *** 作的注意事项,第1张

概述python *** 作json的方法有json.dumps――将json对象(字典)转换为字符串对象json.loads――将字符串对象转换为json对象(字典)

python *** 作Json的方法有

Json.dumps@H_502_7@――将Json对象(字典)转换为字符串对象

Json.loads@H_502_7@――将字符串对象转换为Json对象(字典)

如果定义Json对象

Jsonstring1={"results":[{"ID":"1","name":"\u9ed8\u8ba4\u5206\u7ec4","policy":"4","timer_scan_setting":"{\"last\":\"10.29.13\",\"setting\":\"fulldisk\",\"type\":\"day\",\"hour\":\"13\"}"},{"ID":"2","name":"\u6d4b\u8bd5\u7684","policy":"1","timer_scan_setting":"{\"last\":\"10.29.15\",\"hour\":\"15\"}"},{"ID":"4","name":"\u4ea7\u54c1\u7ec4","policy":"3","timer_scan_setting":"{\"last\":\"10.8.15\",\"setting\":\"disable\"}"}]}

可以直接按Json *** 作,比如

print Jsonstring1.keys()print Jsonstring1['results'][0]['policy']

也可以转个360度再 *** 作

Jsonstring1=Json.dumps(Jsonstring1)Jsonstring1=Json.loads(Jsonstring1)print Jsonstring1.keys()print Jsonstring1['results'][0]['policy']

但是如果定义字符串对象就要小心了

Jsonstring2='''{"results":[{"ID":"1",\"setting\":\"disable\"}"}]}'''

这个只是对上面的Json对象加了三引号转为一个字符串,所以理论上可以直接loads之后就按Json *** 作

Json.loads(Jsonstring2)

但是实际却报错了,原因是因为大括号前后的双引号没有去掉,网上很多在线的Json格式化工具对于这些双引号不会报错,但是python会,而定义Json对象时加了双引号 *** 作却没报错,是因为不加里面的内容会被转义,所以千万不能完全相信网上的Json格式校验工具。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程小技巧的支持。

总结

以上是内存溢出为你收集整理的python中字符串类型json *** 作的注意事项全部内容,希望文章能够帮你解决python中字符串类型json *** 作的注意事项所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1202260.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)