【发布时间】:2016-12-22 02:30:57
【问题描述】:
我正在尝试序列化对象列表。 我正在进行 HTTP API 调用。该调用返回一个对象列表(例如 A 类)。我无权访问 A 类的定义。 我尝试使用转储
print ("Result is: %s", json.dumps(result_list.__dict__))
这会打印一个空结果。但是,如果我要打印 result_list 我得到低于输出
{
"ResultList": [{
"fieldA": 0,
"fieldB": 1.46903594E9,
"fieldC": "builder",
"fieldD": "StringA/StringB-Test-124.35.4.24"
}]
}
有没有一种方法可以将对象与它返回的任何字段转换为 json。
【问题讨论】:
-
json.dumps(result_list)应该给你一个 JSON 数组(如果它是一个列表) -
这个问题有很多令人困惑的地方,在我看来你应该重新审视这里的一些概念(类、对象、json)。无论如何,你真的想在对象本身上调用
json.dumps():json.dumps(result_list) -
如果我尝试
json.dumps(result_list),它会给我一个例外,说 result_list 不是 JSON Serializable -
如果这是您从打印
results_list得到的结果,则意味着它是字典而不是列表——这就是它没有__dict__的原因。这也意味着json.dumps(result_list.__dict__)将引发AttributeError: 'dict' object has no attribute '__dict__'不会如您所声称的那样产生空结果。
标签: python json serialization