json 如何解析List 里的实体类对象

超人不会飞 发布于 2013/07/23 19:58
阅读 7K+
收藏 1

webservice 客户端:json串里放一个List , List 里放List<a>,List<b>,List<c>...多个实体类的集合。

请问我在服务端 获取这个json串,我怎么解析出来。当解析到里面的list时如何知道这个是哪个实体类的集合?(怎么判断) 谢谢啦 困扰我一下午。

加载中
1
崔云飞
崔云飞
用JSONObject传到服务端再用JSONArray解析(所有的子List的泛型必须是JSONObject)
0
覀門夶倌朲
覀門夶倌朲
楼上正解。。。
0
石头哥哥
石头哥哥
键值对 list对服务端就是数组 或则list 服务端序列化为javabean 具体可以看看fastjson 其他json解析器差不多
0
C
ChineHE

如果是用的fastjson

泛型: 

String text = ...;// {"name":{"name":"ljw",age:18}}
Map<String, User> userMap = JSON.parseObject(text,newTypeReference<Map<String, User>>() {});

String text = ...;// [{ ... }, { ... }]
List<User> users = JSON.parseArray(text, User.class);
非泛型:

String text = ...;// {"r":255,"g":0,"b":0,"alpha":255}
Color color = JSON.parseObject(text, Color.class);


0
panmingguang
panmingguang
具体思路应该是这样, List 中的实体 是无法判断的, 不过既然是 JSON格式就可以 反序列化 为 MAP 对象,  然后 再将MAP 对象转换 为 需要的实体类对象, 具体方法很多, 也可以使用外在的 包
0
CulmJoker
CulmJoker

不大理解LZ的意思

List没有Key值,所以只能通过下标index去判断。(client和server两方约定好)

吐槽一下,json结构怎么会定义成这样。杂乱无章的。

返回顶部
顶部