Json格式的数据怎么转换成List?

失落夏天
Android领域优质创作者
博客专家认证
2012-12-28 05:01:36
{"category_attribute_search_response":{"code":"0","total":14,"attributes":[{"aid":3201,"name":"品牌","cid":"1351"},{"aid":7716,"name":"类型","cid":"1351"},{"aid":8668,"name":"价格","cid":"1351"},{"aid":8664,"name":"款式","cid":"1351"},{"aid":8665,"name":"领形","cid":"1351"},{"aid":8667,"name":"材质","cid":"1351"},{"aid":10649,"name":"尺码","cid":"1351"},{"aid":14225,"name":"布种","cid":"1351"},{"aid":14224,"name":"板型","cid":"1351"},{"aid":14227,"name":"工艺","cid":"1351"},{"aid":14226,"name":"风格","cid":"1351"},{"aid":14223,"name":"厚薄","cid":"1351"},{"aid":1000000041,"name":"尺寸","cid":"1351"},{"aid":1000000027,"name":"颜色","cid":"1351"}]}}
这是json格式的数据,我想借助jar包转换成list或者javaBean实体,应该怎么弄?
知道的代码发一下,今天试验了网上的好几个方法,都不成功。大家帮下忙了。
...全文
81139 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
faireyhcg 2015-05-12
  • 打赏
  • 举报
回复
转:http://wuxiangqian.iteye.com/blog/1583179
W0.0K 2014-08-24
  • 打赏
  • 举报
回复
同求方法,楼主能不能把你的成功的方法分享下
  • 打赏
  • 举报
回复
String liststring=""; JSONArray data = JSONArray.fromObject(liststring); List<要转成的model> plist = data.toList(data, 要转成的model.class);
goldfishsky 2013-07-25
  • 打赏
  • 举报
回复
怎么解决的呢
失落夏天 2013-01-02
  • 打赏
  • 举报
回复 1
其实前些日子我师父已经给了我一个可行的方法并实现了。 主要是想学学还有没有别的方法。 先结贴吧,等下次上班的时候把这个方法发上来。
zzt369880281 2013-01-01
  • 打赏
  • 举报
回复
用gson吧,方便
liu4626846 2012-12-31
  • 打赏
  • 举报
回复
楼上方法基本都可行 自己写不看好,还是用别人的成熟的框架吧, 推荐一个 fastJSON 很不错的哟!
suciver 2012-12-31
  • 打赏
  • 举报
回复
那你可以获得这个category_attribute_search_response这个属性下的值拿去toBean啊

String json=你的json字符串;
JSONObject jsonObject=JSONObject.fromObject(json);
json=jsonObject.getString("category_attribute_search_response");
你的类型 object=(你的类型)JSONObject.toBean(json,你的class);
失落夏天 2012-12-31
  • 打赏
  • 举报
回复
引用 11 楼 suciver 的回复:
楼主的这个json数据是一个object 使用JSON-lib的话 Java code?12JSONObject jsonObject=JSONObject(楼主的这个json格式字符串);你的对象类型 object=(强转你要的类型)JSONObject.toBean(jsonObjct,你要转换的对象的class); google Gson的话简单一点 Jav……
直接转是转不了的,因为我的json外层包含着一层{"category_attribute_search_response": ,就是因为这个原因,所以我一直得不到想要的javaBean
suciver 2012-12-31
  • 打赏
  • 举报
回复
楼主的这个json数据是一个object 使用JSON-lib的话

JSONObject jsonObject=JSONObject(楼主的这个json格式字符串);
你的对象类型 object=(强转你要的类型)JSONObject.toBean(jsonObjct,你要转换的对象的class);
google Gson的话简单一点

Gson gson=new Gson();
你的对象类型 object=gson.fromJson(楼主的json格式字符串,你要转换的对象的class);
这个object就是你要的
失落夏天 2012-12-31
  • 打赏
  • 举报
回复
引用 3 楼 omghaa 的回复:
Java code?123456String list = request.getParameter("json");JSONArray data = JSONArray.fromObject(list);for(int i=0;i<data.size();i++){ JSONObject jobj = (JSONObject) data.get(i); ……
这个应用的不是这种形式的json。
失落夏天 2012-12-31
  • 打赏
  • 举报
回复 1
亲们,我需要的是具体的方法,而不是一个简单的描述。 因为我从百度上也搜了很多方法的介绍,问题是不成功啊。
suciver 2012-12-31
  • 打赏
  • 举报
回复
JSON-lib或者google的Gson
一心念佛 2012-12-30
  • 打赏
  • 举报
回复
用Gson等处理json的包。或者自己写个实现也比较简单
dxqrr 2012-12-29
  • 打赏
  • 举报
回复
jackson
omghaa 2012-12-29
  • 打赏
  • 举报
回复
String list = request.getParameter("json");
JSONArray data = JSONArray.fromObject(list);
for(int i=0;i<data.size();i++){
     JSONObject jobj =  (JSONObject) data.get(i);
     String name = jobj.get("name");
}
以上代码就是从json数组装换的。
流星陨落 2012-12-28
  • 打赏
  • 举报
回复
不懂,帮顶个。
brightyq 2012-12-28
  • 打赏
  • 举报
回复
JSONObject.toBean

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧