实体类:
package testjson;
/**
* @author wunan E-mail: 2215225782@qq.com
* @version 创建时间:2017年4月25日 上午10:33:00
* 类说明
*/
public class Student implements java.io.Serializable{
private static final long serialVersionUID = 1L;
private int id;
private String name;
private String sex;
private int age;
private String[] hobby;
public Student(){}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String[] getHobby() {
return hobby;
}
public void setHobby(String[] hobby) {
this.hobby = hobby;
}
}
+++++++++++++++++++++++++++++++++++++++++++++++++
package testjson;
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;
/**
* @author wunan E-mail: 2215225782@qq.com
* @version 创建时间:2017年4月25日 上午10:13:29
* 类说明
*/
public class Tesobject2Json {
private static void TestJsonArray() {
Student student1 = new Student();
student1.setId(1);
student1.setName("jack");
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);
//转换为json数组形式,以字符串的形式输出
System.out.println("----0将一个java对象转换为json(通用)----");
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println(jsonArray.toString());
//复制上一个jsonarray
JSONArray new_jsonArray=JSONArray.fromObject(jsonArray.toArray());
//迭代转换为java对象,获取java对象的属性
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());
}
}
}
/**
* java对象与json对象互相转换
*/
private static void TestJsonBean() {
/**
* 创建java对象
*/
Student student = new Student();
student.setId(1);
student.setName("jack");
student.setSex("man");
student.setAge(25);
student.setHobby(new String[]{"篮球","上网","跑步","游戏"});
/**
* java对象转换成json对象,并获取json对象属性
*/
System.out.println("----1java对象转换成json对象,并获取json对象属性----");
JSONObject jsonStu = JSONObject.fromObject(student);
System.out.println(jsonStu.toString());
System.out.println(jsonStu.getJSONArray("hobby"));
/**
* json对象转换成java对象,并获取java对象属性
*/
System.out.println("----2json对象转换成java对象,并获取java对象属性----");
Student stu = (Student) JSONObject.toBean(jsonStu, Student.class);
System.out.println(stu.getName());
/**
* 创建json对象
*/
System.out.println("----3直接创建json对象----");
JSONObject jsonObj = new JSONObject();
jsonObj.put("id",1);
jsonObj.put("name","tom");
jsonObj.put("sex","男");
jsonObj.put("age",24);
jsonObj.put("hobby",new String[]{"上网","游戏","跑步","音乐"});
System.out.println(jsonObj.toString());
/**
* json对象转换成java对象
*/
System.out.println("----4把3创建的json对象转换成java对象,并获取java对象属性 ----");
Student stud = (Student) JSONObject.toBean(jsonObj,Student.class);
System.out.println(stud.getName());
}
public static void main(String[] args) {
Tesobject2Json.TestJsonArray();
Tesobject2Json.TestJsonBean();
}
}
+++++++++++++++++++++++++++++++++++++
结果:
----0将一个java对象转换为json(通用)----
[{"age":25,"hobby":["篮球","游戏"],"id":1,"name":"jack","sex":"man"},{"age":23,"hobby":["上网","跑步"],"id":2,"name":"tom","sex":"woman"}]
jack
tom
----1java对象转换成json对象,并获取json对象属性----
{"age":25,"hobby":["篮球","上网","跑步","游戏"],"id":1,"name":"jack","sex":"man"}
["篮球","上网","跑步","游戏"]
----2json对象转换成java对象,并获取java对象属性----
jack
----3直接创建json对象----
{"id":1,"name":"tom","sex":"男","age":24,"hobby":["上网","游戏","跑步","音乐"]}
----4把3创建的json对象转换成java对象,并获取java对象属性 ----
tom
++++++++++++++++++++++++++++++++++++++++++++++
jar包使用的是json-lib.jar jar包下载地址(请点击)