json 复杂数据 解析 javabean

我的json结构如下
base = {
"ip": "183.40.247.188",
"ver": 3,
"uid": "7ded51af-9ebe-48b6",
"pid": "ddd",
"key": "zvcnswttpasgbgapngsapn",
"type": "fileinfo",
"data": {
"type": "file",
"data": [
{
"crc": "",
"alen": "663992",
"infotype": "fileinfov1",
"ex": {
"sign1": "",
"sign2": ""
},
"dtype": "1",
"extype": "filesign",
"path": "F:\APT",
"md5": "a0310f771ace8766b1795608bba5f12d"
}
],
"ret": [
"path",
"kmd5",
"md5"
]
}
}
写成对应的bean
我要解析成Javabean如下
JSONObject jsonObject = JSONObject.fromObject(base);
Map classMap = new HashMap();
classMap.put("data", bbb.class);
aaa paraJson = (aaa)JSONObject.toBean(jsonObject, aaa.class,classMap);

            但是这里面data 是重复的但是 所有和打他相等的都会被专程bbb.class 但是有的可能是ccc或者其他的怎么办

1个回答

写一个抽象类或者接口,你的aaa,bbb,ccc都是继承或者是之类,在转换的时候使用父类来标示。

Kyunchen
Kyunchen 回复风行天涯sky: 建议你去贴吧去提问,那里有更多高手。
4 年多之前 回复
Kyunchen
Kyunchen 回复风行天涯sky: 你在写使用泛型Map的时候这样定义,Map<String,Object> classmap = new ....在试试看
4 年多之前 回复
u013358301
风行天涯sky 主要实在classMap.put("data", bbb.class); 将类型传进去之后。里面public class Aaa<T> { private String a; private Bbb b;...},public class Bbb { private String bb; private ArrayList<Ccc> b; 里面所有传入的b的类型都是Bbb.class ,得到的解析结果就是第一层是Bbb.class ,ArrayList<Bbb>了里面不再是Ccc
4 年多之前 回复
u013358301
风行天涯sky 主要实在classMap.put("data", bbb.class); 将类型传进去之后。里面public class Aaa<T> { private String a; private Bbb b;...},public class Bbb { private String bb; private ArrayList<Ccc> b; 里面所有传入的b的类型都是Bbb.class ,得到的解析结果就是第一层是Bbb.class ,ArrayList<Bbb>了里面不再是Ccc
4 年多之前 回复
u013358301
风行天涯sky 主要实在classMap.put("data", bbb.class); 将类型传进去之后
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问