首页 > 编程语言 >python中自定义类对象json字符串化的方法

python中自定义类对象json字符串化的方法

时间:2023-08-16 16:33:23浏览次数:42  
标签:__ obj name 自定义 python self json size


1. 用 json 或者simplejson 就可以

2.定义转换函数:

def convert_to_builtin_type(obj): print 'default(', repr(obj), ')' # 把MyObj对象转换成dict类型的对象
d = {  } 
d.update(obj.__dict__) 
return d

 

3. 定义类

class Object():
  name=""
  size=0
   def __init__(self,name', size,):
   self.name'= name'
   self.size =  size


 

4. 生成对象

obj= Object(name, size)

5.dumps执行,引入转换函数

print json.dumps(obj, default=convert_to_builtin_type)

特别说明,如果是python的内置对象,如列表,float,str等,不需要转换函数。 否则json模块默认是没法处理的,会抛出异常:TypeError xx is not JSON serializable

标签:__,obj,name,自定义,python,self,json,size
From: https://blog.51cto.com/u_7457870/7110146

相关文章

  • json 对象格式
    {"allIds":[98,100,105,106,107,101,108,109,110,102,111,112,128,103,113,114,115,116,117,118,119,120,121,122],"ids":[98,100,105,106,107,101,108,109,110,102,111,112,128,103,113,114,115,116,117,118,119,120,121,122],"objTypeList":[......
  • python不同包之间调用提示不存在
     python不同包之间调用提示不存在 在file-setting-project-projectSources,把包放入到Sources中 再次查看,正常 ......
  • 常用文件读取(python)
    CSV文件CSV(Comma-SeparatedValues)是一种常见的文本文件格式,用于存储结构化的数据。CSV文件中的数据是以逗号(或其他指定的分隔符)分隔的文本行,每一行表示一条记录,每个字段表示记录中的一个属性或值。读CSVimportcsvimportcodecsfile_name=""withopen(file_name,"r",en......
  • 计数排序(Python)
    defcounting(data):"data里的value作为计数数组counts的index,然后把counts的value转换成data的index"#计数列表,存储每个值有多少个,以data的值作为索引,所以数组长度以最大值+1为准counts=[0foriinrange(max(data)+1)]#同时给数组赋初值0,等会逐个计数......
  • if语句条件判断大集合--------------------------------------python语言学习
    准备数据: ##实现成绩大于等于600为优秀,其他为普通等级上代码:importpandasaspddf=pd.read_excel('C:/Users/Administrator/Desktop/test1.xlsx',header=1)defscore_if(score):ifscore>=600:a="优秀"returnaelse:a="普通"......
  • MySQL8.0 JSON的对比、排序和索引
    (目录)JSON的对比和排序JSON值可以通过=,<,<=,>,>=,<>,!=,<=>操作符来进行对比JSON不支持BETWEEN,IN(),GREATEST(),LEAST(),可以通过将JSON转换为其他数据类型来使用这些操作符。JSON值的对比在两个级别上进行,先进行数据类型的对比,如果类型相同,再进行值的对比。类型可以......
  • python编程从入门到实践(第2版)学习笔记(变量,字符串)
    变量变量是一种可以赋给值的标签。每一个变量都指向一个相关联的值,下列代码中message即为变量,指向的值为“HelloPythonworld!”message="HelloPythonworld!"print(message)第二行的print()函数用于打印输出这个message变量所关联的值。且变量的值是可以修改的,p......
  • C#实现用正则表达式替换JSON中大字段的内容
    ///<summary>///过长的数据在日志中不显示///</summary>///<paramname="orilog">原请求</param>///<paramname="ignore">需要过滤的参数</param>privatestringRemoveIgnor......
  • python操作SQLite数据库
    1、脚本#!/usr/local/python3.8/bin/python3#-*-coding:UTF-8-*-importsqlite3importredefdict_factory(cursor,row):#将游标获取的数据处理成字典返回#cursor.description:获取表头d={}foridx,colinenumerate(cursor.description):......
  • C# Json 序列化 反序列化
    ///<summary>///Json编码器///</summary>///<typeparamname="T"></typeparam>publicclassJsonEncode{///<summary>///反序列化///</summary>///<paramname="data"></param&g......