首页 / JAVA / json转java对象
json转java对象
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了json转java对象,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2136字,纯文字阅读大概需要4分钟。
内容图文
![json转java对象](/upload/InfoBanner/zyjiaocheng/1336/06e85efff6364ae9a72c61eb28fdcb86.jpg)
用了平台之后很少再接触到java和js的底层代码,前几天远程帮一个萌新远程调试代码,这个萌新按照网上的教程去将json字符转java对象却一直报错。真相是它的json字符串格式不对,他的明明是一个数组,却写成一个对象,虽然用json在线校验是没错的,但是代表的含义是不一样的~~~(此处捂脸~偷笑~哈哈)所以在了解怎么转换之前一定要熟悉json的格式,我之所以写博客就是希望自己不要把以前的东西遗忘了,不希望自己的有多正规,只当这是个日记,偶尔自己看看也能和别人多多交流一下。
那么json和java的转换方法有哪些呢?我所了解的是有三种:
第一种方法,使用 JSON-lib 。
第二种方法,使用 JACKSON。
第三种方法,使用Gson。
我用过最多的是Gson的转换方式,基本不依赖其他的包。用起来自然很爽,取值方式非常灵活。对复杂的JSON 取值,基本统统搞定。在Gson 中分为两种概念。一个就 是 JsonObject 和 JsonArray。
1.将bean转换成Json字符串:
public static String beanToJSONString(Object bean) { return new Gson().toJson(bean); }
2.将Json字符串转换成对象:(当然需要提前建好pojo类)
public static Object JSONToObject(String json,Class beanClass) { Gson gson = new Gson(); Object res = gson.fromJson(json, beanClass); return res; }
注:转换后的对象使用前进行强转:例如bean bean1 = (bean)FormatUtil.JSONToObject(json, bean.class);
3.将Json字符串转换成JsonObject对象:
JsonObject returnData = new JsonParser().parse(jsonstr).getAsJsonObject();
4.将JsonArray类型的Json字符串解析成对象方法:
Gson gson = new Gson(); JsonParser parser = new JsonParser(); JsonArray Jarray = parser.parse(jstring).getAsJsonArray(); ArrayList<channelSearchEnum> lcs = new ArrayList<channelSearchEnum>(); for(JsonElement obj : Jarray ){ channelSearchEnum cse = gson.fromJson( obj , channelSearchEnum.class); lcs.add(cse); }
或者
String json = "[{\"username\":\"test\"},{\"username\":\"test2\"}]"; System.out.println(new JsonParser().parse(json).getAsJsonArray().get(0).getAsJsonObject().get("username").getAsString());
5.获取JsonObject中指定key值对应的JsonArray对象:
String json= "{\"pids\":[\"1\",\"2\",\"3\"]}"; System.out.println(new JsonParser().parse(json).getAsJsonObject().getAsJsonArray("pids").get(0).getAsString());
第二种用jackson实现转换,可以参考下面这篇博客:http://blog.csdn.net/a123demi/article/details/43112547
第三种用json-lib,这是刚学时用的方法,可以参考下面这篇博客:http://blog.csdn.net/chenbin520/article/details/8776915,但是我相信最终你也会选择使用Gson,因为看到那么多包,方法还那么繁琐,不过这完全是个人的不成熟小建议,每个人有每个人的习惯,实现功能的方式千千万,有的人喜欢简简单单,有的人喜欢炫技。个人觉得与其炫技不如多加几行注释,好好想想怎么能不写重复代码,写出让人一读便懂得代码~依稀记得当年一个哥们为了炫技强行用反射去获取对象的方法,循环获取的对象属性数组,最终代码检视时被发现,后来没多久这位前辈不知道是不是因为这件事辞职了。哎~又开启了吐槽模式~到了看海贼王的时间了~~~~~一天不更博浑身蓝瘦,我也要吐槽一下自己了~辣鸡哟
原文:http://www.cnblogs.com/echo-ling/p/8097698.html
内容总结
以上是互联网集市为您收集整理的json转java对象全部内容,希望文章能够帮你解决json转java对象所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。