java对象与json对象之间互相转换实现方法示例
程序员文章站
2024-02-22 10:34:16
本文实例讲述了java对象与json对象之间互相转换实现方法。分享给大家供大家参考,具体如下:
import java.util.arraylist;
impo...
本文实例讲述了java对象与json对象之间互相转换实现方法。分享给大家供大家参考,具体如下:
import java.util.arraylist; import java.util.collection; import java.util.iterator; import java.util.list; import net.sf.json.jsonarray; import net.sf.json.jsonobject; public class mainclass { public static void main(string[] args) { testjsonbean(); testjsonattribute(); testjsonarray(); } @suppresswarnings("rawtypes") private static void testjsonarray() { student student1 = new student(); student1.setid(1); student1.setname("jag"); student1.setsex("man"); student1.setage(25); student1.sethobby(new string[]{"篮球","游戏"}); student student2 = new student(); student2.setid(2); student2.setname("tom"); student2.setsex("woman"); student2.setage(23); student2.sethobby(new string[]{"上网","跑步"}); list<student> list = new arraylist<student>(); list.add(student1); list.add(student2); jsonarray jsonarray = jsonarray.fromobject(list); system.out.println(jsonarray.tostring()); jsonarray new_jsonarray=jsonarray.fromobject(jsonarray.toarray()); collection java_collection=jsonarray.tocollection(new_jsonarray); if(java_collection!=null && !java_collection.isempty()) { iterator it=java_collection.iterator(); while(it.hasnext()) { jsonobject jsonobj=jsonobject.fromobject(it.next()); student stu=(student) jsonobject.tobean(jsonobj,student.class); system.out.println(stu.getname()); } } } private static void testjsonattribute() { /** * 创建json对象并为该对象设置属性 */ jsonobject jsonobj = new jsonobject(); jsonobj.put("int_att",25);//添加int型属性 jsonobj.put("string_att","str");//添加string型属性 jsonobj.put("double_att",12.25);//添加double型属性 jsonobj.put("boolean_att",true);//添加boolean型属性 //添加jsonobject型属性 jsonobject jsonobjson = new jsonobject(); jsonobjson.put("id", 1); jsonobjson.put("name", "tom"); jsonobj.put("jsonobject_att",jsonobjson); //添加jsonarray型属性 jsonarray jsonarray = new jsonarray(); jsonarray.add("array0"); jsonarray.add("array1"); jsonarray.add("array2"); jsonarray.add("array3"); jsonobj.put("jsonarray_att", jsonarray); system.out.println(jsonobj.tostring()); system.out.println("int_att:"+jsonobj.getint("int_att")); system.out.println("string_att:"+jsonobj.getstring("string_att")); system.out.println("double_att:"+jsonobj.getdouble("double_att")); system.out.println("boolean_att:"+jsonobj.getboolean("boolean_att")); system.out.println("jsonobject_att:"+jsonobj.getjsonobject("jsonobject_att")); system.out.println("jsonarray_att:"+jsonobj.getjsonarray("jsonarray_att")); } /** * java对象与json对象互相转换 */ private static void testjsonbean() { /** * 创建java对象 */ student student = new student(); student.setid(1); student.setname("jag"); student.setsex("man"); student.setage(25); student.sethobby(new string[]{"篮球","上网","跑步","游戏"}); /** * java对象转换成json对象,并获取json对象属性 */ jsonobject jsonstu = jsonobject.fromobject(student); system.out.println(jsonstu.tostring()); system.out.println(jsonstu.getjsonarray("hobby")); /** * json对象转换成java对象,并获取java对象属性 */ student stu = (student) jsonobject.tobean(jsonstu, student.class); system.out.println(stu.getname()); /** * 创建json对象 */ jsonobject jsonobj = new jsonobject(); jsonobj.put("id",1); jsonobj.put("name","张勇"); jsonobj.put("sex","男"); jsonobj.put("age",24); //jsonobj.put("hobby",new string[]{"上网","游戏","跑步","音乐"}); //system.out.println(jsonobj.tostring()); /** * json对象转换成java对象 */ student stud = (student) jsonobject.tobean(jsonobj,student.class); system.out.println(stud.getname()); } }
ps:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:
在线json代码检验、检验、美化、格式化工具:
json在线格式化工具:
在线xml/json互相转换工具:
json代码在线格式化/美化/压缩/编辑/转换工具:
在线json压缩/转义工具:
更多关于java相关内容感兴趣的读者可查看本站专题:《java操作json格式数据技巧总结》、《java数组操作技巧总结》、《java字符与字符串操作技巧总结》、《java数学运算技巧总结》、《java数据结构与算法教程》及《java操作dom节点技巧总结》
希望本文所述对大家java程序设计有所帮助。
上一篇: 浅谈java中为什么实体类需要实现序列化
下一篇: Android动态加载布局