温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python序列化json数据的方法是什么

发布时间:2022-01-25 09:40:09 来源:亿速云 阅读:134 作者:iii 栏目:开发技术

这篇“python序列化json数据的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python序列化json数据的方法是什么”文章吧。

使用json模块提供的loads方法和dumps方法,可以很方便的载入和读取json数据格式。

可以借用python内部的dict 字典方法将格式转换为json格式并读取,不带参数示例如下:

一、不带参数的class类转化为json

class Foo(object):
def __init__(self):
self.x = 1
self.y = 2
foo = 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 json
class Foo(object):
def __init__(self,cmd):
self.Command = cmd
cmd="""
#!/bin/bash
echo "Result:4 "
ps -ef|grep java|wc -l
netstat -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 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数据的方法是什么”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI