json_encode

利用json模块提供的loads方法和dumps方法,可以方便地加载和读取json数据格式。在实际应用中,我们使用的python数据格式有string、list或dict等。这样的格式如何直接转换成json格式?

可以借用python内部的__dict__ dictionary方法将格式转换成json格式读取。没有参数的示例如下:

首先,不带参数的class类被转换成json。

class Foo(object):def _ _ init _ _(self):self . x = 1 self . y = 2 Foo = Foo()# s = JSON . dumps(Foo)#用“is not JSON serializable”引发type error s = JSON . dumps(Foo。_ _ dict _ _) # s设置为:{\”x\”:1,\” y\”:2}调用上述方法时,打印s时,其值为:{\”x\”: 1,\” y\”:2。

第二,将带参数的类方法转化为json。

如果要传入多行字符串参数,也可以自动转义:

#!/usr/bin/env python # coding = utf8 # Copyright(C)2018 www.361way.com站点版权所有. import JSON class Foo(object):def _ _ init _ _(self,cmd):self。Command = cmdcmd=\”\”\”#!/bin/bashecho \”结果:4 \” PS-ef | grep Ja | WC-lnetstat-an | grep 15380 echo \”;\” \” \” \” foo = foo (cmd) s = json.dumps (foo。_ _ dict _ _) print s它的执行输出如下:

[root @ localhost tmp]# python a . py { \” Command \”:\” \\ n #!/bin/bash \\ n \\ necho \\ \” Result:4 \\ \” \\ NPS-ef | grep Ja | WC-l \\ nnetstat-an | grep 15380 \\ necho \\ \”;\\\”\\n\\n\”}之后的结构转义部分实际上是json.jsoncoder()的结果。编码方法:

PrintJSON。JSONEncoder()。可以使用上面的命令测试Encode (cmd)。将上面的代码添加到上面python文件的末尾,执行结果如下:

[root @ localhost tmp]# python a . py { \” Command \”:\” \\ n #!/bin/bash \\ n \\ necho \\ \” Result:4 \\ \” \\ NPS-ef | grep Ja | WC-l \\ nnetstat-an | grep 15380 \\ necho \\ \”;\\\”\\n\\n\”}\”\\n#!/bin/bash \\ n \\ necho \\ \” Result:4 \\ \” \\ NPS-ef | grep Ja | WC-l \\ nnetstat-an | grep 15380 \\ necho \\ \”;\\\”\\n\\n \”

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

发表回复

登录后才能评论