假设我有一个像这样的JSONObject:
{ "name":"John",
"age":30,
"car":null,
contact": {
"telephone": "12345",
"extension": "34
}
}
并且我想创建一个类,在其中编写一些方法以这种格式从JSONObjects中获取某些值。
我的第一个想法是创建一个扩展JSONObject并添加所需方法的类(我们称其为“ Person”),问题是我将JSONObject作为REST API中方法的返回对象,而不是从JSONObject的类构造函数获取,所以我无法使用其父构造函数在Person中创建构造函数,也无法将该JSONObject强制转换为Person,因为我将拥有ClassCastException。 您认为解决这个问题的最佳/正确方法是什么?我想念什么?
另一种选择是使用JSONObject作为类变量来创建Person类(不扩展),并使用JSONObject作为唯一参数来创建构造函数。但这对我来说似乎并不“优雅”。
那是让我觉得我可能还不了解OOP的问题之一,因为我印象中有一种显而易见的方法可以完成它,我现在看不到哈哈
谢谢!