我用Java定义了两个类。我们叫他们“用户”和“地址”
class Address {
String addressFirstLine;
String city;
String pincode;
// Getters/setters for all attributes
}
class User {
String firstName;
String lastName;
Address address;
// Getters/setters for all attributes
}
我创建了一个User类的对象,并使用Gson库将其序列化。在
JSON字符串类似于:
^{pr2}$现在,这个字符串被发送到一个python应用程序,该应用程序具有与上面Java中定义的“User”和“Address”相同的两个类定义。在
我尝试过使用jsonpickle将json反序列化为python对象。我可以用jsonpickle反序列化简单对象,但不能反序列化复杂对象。在
有人能给我个办法吗?在
这可能是使用Python内置JSON库的一个解决方案,该库利用Python将字典作为关键字参数摄取的能力。在
我在Python中定义了基于大纲的类。在User类定义中,我允许address作为实际的address对象、列表(从JSON数组转换)或dictionary(从JSON对象转换而来)传递。在
我使用内置的pythonjson库将您提供的json字符串转换为字典,然后使用该字典创建用户对象。如下图所示,用户地址是一个实际的Address对象(我在一个名为User的文件中定义了User和Address)_地址.py,因此有前缀)。在
^{pr2}$此实现还支持地址参数列表,而不是字典。如果传递了不受支持的类型,也会引发描述性错误。在
另一个答案还讨论了如何将Python dict转换为Python对象,方法更抽象:Convert Python dict to object
相关问题 更多 >
编程相关推荐