这篇“python序列化json数据的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python序列化json数据的方法是什么”文章吧。
使用json模块提供的loads方法和dumps方法,可以很方便的载入和读取json数据格式。
可以借用python内部的dict 字典方法将格式转换为json格式并读取,不带参数示例如下:
一、不带参数的class类转化为json
class Foo(object):def __init__(self):self.x = 1self.y = 2foo = Foo()# s = json.dumps(foo) # raises TypeError with "is not JSON serializable"s = json.dumps(foo.__dict__) # s set to: {"x":1, "y":2}
调用上面的方法时,print s时,其值为:{“x”:1, “y”:2} 。
二、带参数的class方法转化为json
如果要传入的是一个多行字符串参数,其也可以自动进行转义:
#!/usr/bin/env python# coding=utf8# Copyright (C) 2018 www.361way.com site All rights reserved.import jsonclass Foo(object):def __init__(self,cmd):self.Command = cmdcmd="""#!/bin/bashecho "Result:4 "ps -ef|grep java|wc -lnetstat -an|grep 15380echo ";""""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 java|wc -l\nnetstat -an|grep 15380\necho \";\"\n\n"}
后面的结构体转义部分,实际上就是json.JSONEncoder().encode方法处理的结果:
print json.JSONEncoder().encode(cmd)
可以用上面的命令进行测试,将上面的代码加入到上面python文件的最后,执行的结果如下:
[root@localhost tmp]# python a.py{"Command": "\n#!/bin/bash\n\necho \"Result:4 \"\nps -ef|grep java|wc -l\nnetstat -an|grep 15380\necho \";\"\n\n"}"\n#!/bin/bash\n\necho \"Result:4 \"\nps -ef|grep java|wc -l\nnetstat -an|grep 15380\necho \";\"\n\n"
以上就是关于“python序列化json数据的方法是什么”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。