擅长:python、mysql、java
<p><strong>Python只能序列化内置数据类型的对象。</strong>
在您的例子中,“SomeObject”是Python无法序列化的用户定义类型。如果尝试序列化任何不可json序列化的数据类型,则会得到TypeError“<strong>TypeError:is not json serializable</strong>”。因此,应该有一个中间步骤,将这些非内置数据类型转换为Python内置的可序列化数据结构(list、dict、number和string)。</p>
<p>因此,让我们将SomeObject转换为python字典,因为字典是表示对象的最简单方法(因为它有键/值对)。你可以把所有的SomeObject实例属性复制到一个新的字典中,然后就可以设置了!
<strong>myDict=self.\uu dict\uu.copy()</strong>
现在,这个myDict</em>可以成为“propertyobject”的值。</p>
<p>在此步骤之后,将字典转换为字符串(JSON格式,但可以是YAML、XML、CSV…)-对于我们来说,它将是<strong>jsonObj=JSON.dumps(finalDict)</strong></p>
<p>最后一步是将jsonObj字符串写入磁盘上的文件!</p>