当前位置: 首页 > 面试题库 >

将Python对象转换成JSON输出[重复]

曾嘉福
2023-03-14
问题内容

这个问题已经在这里有了答案

如何使可序列化的JSON类 (34个答案)

3年前关闭。

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

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:< main 。位于0x0149A3F0的多个对象不是JSON可序列化的”


问题答案:

您可以序列化以下__dict__属性m

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

您也可以致电vars

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

使用什么以及为什么:
使用__dict__vars()

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

jsonpickle是一个Python库,用于将复杂的Python对象与JSON进行序列化和反序列化。用于将Python编码为JSON的标准Python库(例如stdlib的json
simplejsondemjson)只能处理具有直接JSON等效项(例如dicts,lists,strings,ints等)的Python原语。
jsonpickle 在这些库的基础上构建,并允许将更复杂的数据结构序列化为JSON。

强调我的。



 类似资料:
  • 问题内容: 我需要知道如何将动态python对象转换为JSON。该对象必须能够具有多个级别的对象子对象。例如: 使用python 2.6的以下代码: 产生以下错误: 我不知道用户可能放入哪种子对象。是否有足够聪明的解决方案来检测属性是否是对象并自动对其进行解析? 更新 为在上包含子对象。 问题答案: 指定参数(doc):

  • 问题内容: 我有一个JSON对象,我将其转换为并在此处进行一些处理。稍后,我想转换相同的缓冲区数据以转换为有效的JSON对象。 我正在研究Node V6.9.1 下面是我尝试过的代码,但是当我转换回JSON却无法打开该对象时遇到了。 所以我尝试使用检查方式打印整个对象 如果我尝试像数组一样读取它 我也尝试解析它抛出 我需要将其视为我创建的真实对象(我的意思是像上面声明的那样)。 请帮忙.. 问题答

  • 我正试图将下面的json转换成java bean,需要你的帮助 Sort.json 我的豆子看起来像 我的测试课是 我看到的错误是 请建议:

  • 我正在php控制器中运行一个数据库查询,并将结果返回给一个Ajax函数。下面是php代码。 下面是我在ajax中的函数: 我的问题是如何将返回的json对象转换为javascript数组。

  • 问题内容: 这很简单,但是很挣扎。帮助我。 我有一个json数据{“ abc”:“ test”,“ bed”:“ cot”,“ help”:“ me”} 我想将上面的jsonObject转换为JSON ARRAY,例如[{“ abc”:“ test”,“ bed”:“ cot”,“ help”:“ me”}] 我只得到价值观。请帮我解决这个问题。 问题答案: 直接将JsonObject即obj放入

  • 问题内容: 是否可以将json字符串(例如,从twitter搜索json服务返回的json字符串)转换为简单的字符串对象。这是从json服务返回的数据的一小部分表示形式: 可以说我以某种方式将结果存储在某个变量中,例如 obj 。我希望获得适当的值,如下所示: 我已经尝试过使用,但是它给了我一个错误提示 问题答案: 我已经尝试过使用,但是它给了我一个错误提示 要从字符串加载,请使用(注意“ s”)

  • 问题内容: 如何加载YAML文件并将其转换为Python JSON对象? 我的YAML文件如下所示: 问题答案: 你可以使用PyYAML 并在ipython控制台中:

  • 问题内容: 我一直在寻找有关此问题的答案,但似乎无法找到答案。也许到了傍晚才找出答案,所以我转向这里的优秀读者。 我从CouchDB记录中提取了以下JSON数据: 此数据存储在Python字典中,该字典位于称为“ ” 的字典中键“ ” 下。我想将此数据从CouchDB转换为Python dict,以便可以在Django模板中执行以下操作: 我发现了很多有关将字典转换为JSON的信息,但是没有其他方