【发布时间】:2014-09-26 07:11:33
【问题描述】:
我是 python 新手,但在其他语言中,我已经能够告诉序列化程序我想要创建什么类型,并让它根据反射/内省反序列化或绑定属性。
如果您使用 jsonpickle 对其进行序列化,jsonpickle 会将类型信息添加到 json,但是在这种情况下,我得到的 json 来自外部源并且其中没有类型元数据。
我只想将类型信息传递给序列化程序。
import jsonpickle
class TestObject(object):
@property
def name(self):
return self._name
@name.setter
def name(self, value):
self._name = value
#from an external source
jsons = '{ "name" : "Test" }'
我希望我可以这样做:
jsonpickle.decode(jsons,TestObject)
这是我的问题的 C# 示例: http://james.newtonking.com/json/help/index.html?topic=html/M_Newtonsoft_Json_JsonConvert_DeserializeObject_3.htm
c# 看起来像:
public class TestObject {
public string Name { get;set; }
}
var json = "{ "name" : "Test" }";
var deserialized = JsonConvert.DeserializeObject(json,typeof(TestObject));
我知道 python 没有类型,等等......但是我没有理由需要为了进行基本的序列化而需要弄乱字典映射。
【问题讨论】:
-
您的问题到底是什么?你读过
jsonpickledocs吗? -
@jonrsharpe 我认为我的问题相当简单。我已经阅读了文档和源代码。我会尝试更新问题