(一直在使用python但是我的术语很弱,所以请耐心等待)
我有一堆对象,我在python中互相添加。我使用__dict__
属性(使用__init__
函数self.__field
来序列化对象。)我使用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
及其值。
答案 0 :(得分:1)
你有一个XY问题 - https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem而且你正在重新发明轮子。
使用pickle
http://docs.python.org/2/library/pickle.html或更好cPickle
http://docs.python.org/2/library/pickle.html#module-cPickle来序列化Python对象。
Python
哲学为batteries included
,因此请尽可能使用stdlib
。