Java对象转为Json串

来源:互联网 发布:高中软件 编辑:程序博客网 时间:2024/05/16 22:12

在Ajax的应用中,我们通常需要将JavaBean,List,Map等对象转为Json串,方便页面解析

需要导入的jar包有

commons-beanutils-1.7.0.jar
commons.collections-3.2.jar
commons-lang-2.4.jar
commons-logging-1.1.jar
ezmorph-1.0.4.jar
jdom.jar
json-lib-2.2.2-jdk15.jar
json-lib-2.2.3-jdk13.jar

POJO类

Student类

public class Student {private String id;private String name;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}
Person类:

public class Person {private String name;private int age;private Student student;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public Student getStudent() {return student;}public void setStudent(Student student) {this.student = student;}}



1、将JavaBean转为Json串

public  void test1(){Student stu = new Student();stu.setId("111");stu.setName("stu1");Person p = new Person();p.setAge(18);p.setName("Person1");p.setStudent(stu);JSONObject json = JSONObject.fromObject(p);//将对象转jsonSystem.out.println(json.toString());Person jb = (Person)JSONObject.toBean(json,Person.class);//将json转为JavaBeanSystem.out.println(jb.getAge());System.out.println(jb.getName());}

输出结果为:{"age":18,"name":"Person1","student":{"id":"111","name":"stu1"}}


2、将List转为Json

public void test2(){List list1 = new ArrayList();list1.add( "first" );list1.add( "second" );JSONArray arrayToJson = JSONArray.fromObject( list1 );System.out.println(arrayToJson.toString());System.out.println("--------------");List list2 = new ArrayList();Student s1 = new Student();s1.setId("111");s1.setName("aaa");Student s2 = new Student();s2.setId("111");s2.setName("aaa");list2.add(s1);list2.add(s2);arrayToJson = JSONArray.fromObject(list2);System.out.println(arrayToJson.toString());}
输出结果:

["first","second"]
--------------
[{"id":"111","name":"aaa"},{"id":"111","name":"aaa"}]

3、将Set转为Json

public void test5(){Set set = new HashSet();set.add("aaa");set.add("bbb");set.add("ccc");JSONArray jsonArray = JSONArray.fromObject(set);System.out.println(jsonArray.toString());System.out.println("--------------");Student stu = new Student();stu.setId("111");stu.setName("aaa");jsonArray = JSONArray.fromObject(stu);System.out.println(jsonArray.toString());}

输出结果:

["aaa","ccc","bbb"]
--------------
[{"id":"111","name":"aaa"}]

由此可见,List转化为Json与Set转换为Json的代码基本相同


4、Map对象转化为Json

public void test3(){Map map = new HashMap();map.put("key1","aaa");map.put("key2","bbb");map.put("key3","ccc");map.put("key4","ddd");JSONObject obj = JSONObject.fromObject(map);System.out.println(obj.toString());}
输出结果:{"key4":"ddd","key3":"ccc","key2":"bbb","key1":"aaa"}


5、数组类型转化为json串

public void test4(){boolean[] boolArray = new boolean[] { true, false, true };JSONArray jsonArray1 = JSONArray.fromObject(boolArray);System.out.println(jsonArray1.toString());}
输出结果:[true,false,true]




0 0
原创粉丝点击