本文介绍了将Python对象转换为JSON输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时删除!!

Python的新手,试图定义一个非常简单的类,该类将包含一些值,然后将其输出为JSON表示法.

New to Python, trying to define a very simple class that will hold a few values, and then get it output into JSON notation.

import json

class Multiple:
    def __init__(self, basis):
            self.double = basis * 2
            self.triple = basis * 3
            self.quadruple = basis * 4


m = Multiple(100)
json.dumps(m)

我希望看到类似的东西

{
  "double":"200",
  "triple":"300",
  "quadruple":"400"
}

但收到错误:"TypeError:< 主要.位于0x0149A3F0>的多个对象不是JSON可序列化的"

but instead get an error: "TypeError: <main.Multiple object at 0x0149A3F0> is not JSON serializable"

推荐答案

您可以序列化m__dict__属性:

In [214]: json.dumps(m.__dict__)
Out[214]: '{"quadruple": 400, "double": 200, "triple": 300}'


可以也调用 vars :


You can also call vars:

In [216]: json.dumps(vars(m))
Out[216]: '{"quadruple": 400, "double": 200, "triple": 300}'

使用什么以及为什么:使用`__dict__`或`vars()`?

What to use and why:Use `__dict__` or `vars()`?

对于更复杂的类,请考虑使用 jsonpickle .

For more complicated classes, consider the use of jsonpickle.

强调我的.

这篇关于将Python对象转换为JSON输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

1403页,肝出来的..

09-06 09:03