使用json转储的python名称混乱
(已经使用python一段时间了,但我的行话很弱,请耐心听我说) 我有一堆对象,我正在用python相互添加。我使用对象的使用json转储的python名称混乱,python,json,Python,Json,(已经使用python一段时间了,但我的行话很弱,请耐心听我说) 我有一堆对象,我正在用python相互添加。我使用对象的\uuuuu dict\uuuuuu属性(使用\uuuu init\uuuuuu函数self.\uuuu字段之类的东西)序列化对象。我使用json.dumps打印对象,以证明我正在做的API端口的概念。问题是我在使用名称混乱和python属性,所以当我打印时,它看起来有点像 { "_Type1__field": { "A": { "_Type1-1__
\uuuuu dict\uuuuuu
属性(使用\uuuu init\uuuuuu
函数self.\uuuu字段
之类的东西)序列化对象。我使用json.dumps
打印对象,以证明我正在做的API端口的概念。问题是我在使用名称混乱和python属性,所以当我打印时,它看起来有点像
{
"_Type1__field": {
"A": {
"_Type1-1__field": [
{
"_Type1-1-1__field": [
{
"_Type1-1-1-1__field": null,
"field": 1
},
{
"_Type1-1-1-1__field": null,
"field": 4
}
]
},
{
"_Type1-1-2__field": [
{
"_Type1-1-2-1__field1": null,
"_Type1-1-2-1__field2": null,
"_Type1-1-2-1__field3": null,
"field1": {
"field": 3853579331
},
"field2": 1373546537126.0,
"field3": 1373632937126.0
}
]
}
]
}
}
是不是被损坏的东西和财产一起被捡起来了?
像Typex-x-x这样的典型对象(Typex和Typex-x是外部对象)是这样设置的
class Type(inheritance):
def __init__(self):
self.__field= None
self.__field2= {}
@property
def field(self):
return self.__field
@deviceId.setter
def field(self, value):
self.__field = value
@property
def field2(self):
return self.__field2
@field2.setter
def field2(self, value):
self.__field2 = value
这不是一个真正的问题,我只是想知道发生了什么,为什么每个字段都显示为None
,以及它的值。您有一个XY问题,而且您正在重新发明轮子
使用pickle
或更好的cPickle
序列化Python对象
Python
的基本原理是包含电池
,因此尽可能使用stdlib
。好吧,尝试的解决方案是我的问题。json.dumps正在做一些奇怪的事情。此外,json是一个模块。我感谢你推荐一个不同的模块,希望它能更好地工作。