java Bean与json对象间的转换实例讲解
javaBean与json对象间的转换
/** *一JSON.parseObject()单个对象或map大括号{} *二JSON.parseArray()多个对象数组[]复杂的要在类中定义类 *三JSON.toJSONString()javaBean与JSON格式字符串之间的转换 * *四javaBean与json对象间的转换使用:JSON.toJSON(obj),然后使用强制类型转换,JSONObject或者JSONArray */ @Test publicvoidtestJson(){ //{"name":"小红","age":21,"nation":"中国"}格式要进行格式化"\" StringjsonPerson="{\"name\":\"小红\",\"age\":21,\"nation\":\"中国\"}"; System.out.println(jsonPerson);//{"name":"小红","age":21,"nation":"中国"} Strings=JSON.toJSONString(jsonPerson);//"{\"name\":\"小红\",\"age\":21,\"nation\":\"中国\"}" System.out.println(s); //[{"text":"内存大小","value":"10M"},{"text":"颜色","value":"红色"}] //json转换为对象 Personperson=JSON.parseObject(jsonPerson,Person.class); System.out.println(person); System.out.println("============================================="); StringjsonPerson2="[{\"name\":\"小红\",\"age\":21,\"nation\":\"中国\"},{\"name\":\"小红2\",\"age\":31,\"nation\":\"中国2\"}]"; //Personperson1=JSON.parseObject(jsonPerson2,Person.class); //System.out.println(person1);//com.alibaba.fastjson.JSONException:syntaxerror,expect{,actual[,pos0 ListpersonList=JSON.parseArray(jsonPerson2,Person.class); System.out.println(personList); System.out.println("=============================================="); Stringresult="{\n"+ "\"success\":\"true\",\n"+ "\n"+ "\"returnAddress\":\"123\"\n"+ "\n}"; JSONObjectjsonObject=JSON.parseObject(result); System.out.println(jsonObject); //{"success":"true","returnAddress":"123"} Mapmap=JSON.parseObject(result,Map.class); System.out.println(map); //{success=true,returnAddress=123} System.out.println("map取得的值时"+map.get("success")); //map取得的值时true System.out.println(jsonObject.toJSONString()); //{"success":"true","returnAddress":"123"} MapjsonObject1=(Map)JSON.parseObject(result); System.out.println(jsonObject1); //{"success":"true","returnAddress":"123"} System.out.println("jsonObject1取得的值时"+jsonObject1.get("success")); //jsonObject1取得的值时true } //多重javabean的方法是遍历
JSON.parseObject(Stringstr)与JSONObject.parseObject(Stringstr)的区别
根据源码显示:JSON是一个抽象类,JSON中有一个静态方法parseObject(Stringtext),将text解析为一个JSONObject对象并返回;JSONObject是一个继承自JSON的类,当调用JSONObject.parseObject(result)时,会直接调用父类的parseObject(Stringtext)。所以两者没什么区别,一个是用父类去调用父类自己的静态的parseObject(Stringtext),一个是用子类去调用父类的静态parseObject(Stringtext),两者调的是同一个方法。
以上就是本次介绍的全部相关知识点,感谢大家的学习和对毛票票的支持。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。