我搜索了许多网站,但找不到解决问题的方法。基本上我的要求有点棘手,有时我自己觉得这是不可能的。谁能帮我?
我的要求是我有 3 个从接口继承的类。我现在想创建一个具有以下结构的 JSON 数组:
interface i {
}
class A implements i {
field l;
field 2;
}
首先感谢您对解决我的问题的兴趣,我在问题中提到的所有对象都是数据库持久性对象。我有联系人对象、通讯对象和地址对象,都是db持久化对象一个联系人有多个通讯和多个地址。因此,联系人保留在一个表中,并在 2 个不同的表中保留通信和地址,参考联系人的唯一标识符,例如
联系表:
id 名字 姓氏
3 xyz abc
通讯表:
id 联系人号码
1 3 999999999
地址表:
id contactid 地点 1 3 印度
在数据库中持久化后,我想创建 json 数组,我想将其发送到服务器的请求中。
final Collection<Syncable> collection = new ArrayList<Syncable>();
collection.add(contact);
collection.add(comm);
collection.add(address);
result = HttpRestUtil.post(url,*** new Gson().toJson(collection)***,JSON,header );
Gson().toJson(collection) 在字符串中返回一个 json,我想在服务器端发送它。字符串看起来如下
[{"firstname":"xyz","lastname":"abc"}, //contact
{"number":"99999999"}, //communication
{"place":"india"} //address
]
但我的服务器已实现,它采用格式的 json
[ {"firstname":"xyz",
"lastname":"abc",
{"number":"999999999"}
{"place":"india"}
}]
服务器被这样编码,整个 json 被反序列化为联系人、通信、地址的对象
我希望这次我的问题很清楚,再次感谢
class B implements i {
field 3;
field 4;
}
class C implements i {
field 5;
field 6;
}
现在我想要一个格式如下的 JSON 数组,这个 JSON 的类型是 A
[
"field1": "value",
"field2": "value",
"objectB": "{ 'field3':'value','field4':'value'}",
"objectC": "{ 'field5':'value','field6':'value'}"
]
我的要求是B,C类应该是A类的字段。
一种可以给我解决方案的方法是使 B 和 C 类成为 A 的内部类,但我的对象结构不允许这样做。对此高度赞赏的帮助。
提前致谢