您的位置:首页 > 编程语言 > Java开发

使用json-lib将java对象转换成json字符串

2009-05-15 13:31 375 查看
代码如下:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class Test {
public static void main(String[] args) {
//当是对象的时候
Student student = new Student();
student.setAge(18);
student.setName("zhangsan");
student.setSex("male");
JSONObject jsonObject = JSONObject.fromObject(student);
System.out.println(jsonObject);//输出{"age":18,"name":"zhangsan","sex":"male"}
//当是数组或list的时候
Student[] stus = new Student[5];
List<Student> stuList = new ArrayList<Student>();
for (int i = 0; i < stus.length; i++) {
stus = new Student();
stus[i].setAge(i*10+8);
stus[i].setName("zhang"+i);
stus[i].setSex("male");
//添加到list,一会儿用
stuList.add(stus[i]);
}
JSONArray jsonArray = JSONArray.fromObject(stus);
System.out.println(jsonArray);//和下面打印的结果相同
//结果:[{"age":8,"name":"zhang0","sex":"male"},{"age":18,"name":"zhang1","sex":"male"},{"age":28,"name":"zhang2","sex":"male"},{"age":38,"name":"zhang3","sex":"male"},{"age":48,"name":"zhang4","sex":"male"}]
JSONArray jsonArrayFromList = JSONArray.fromObject(stuList);
System.out.println(jsonArrayFromList);//和上面打印的结果相同
//当既有对象又有数组的时候
Map<String,Object> map = new HashMap<String,Object>();
Teacher teacher = new Teacher();
teacher.setAge(30);
teacher.setName("laoshi");
teacher.setSex("male");
map.put("teacher", teacher);
map.put("student", stuList);
JSONObject jsonObjectFromMap = JSONObject.fromObject(map);
System.out.println(jsonObjectFromMap);
//结果:
//{"student":[{"age":8,"name":"zhang0","sex":"male"},{"age":18,"name":"zhang1","sex":"male"},{"age":28,"name":"zhang2","sex":"male"},{"age":38,"name":"zhang3","sex":"male"},{"age":48,"name":"zhang4","sex":"male"}],"teacher":{"age":30,"name":"laoshi","sex":"male"}}
}
}
[/i][/i][/i][/i]

commons-beanutils-1.8.0.jar (225.9 KB) 下载次数: 17 commons-logging-1.1.1.jar (59.4 KB) 下载次数: 10 commons-lang-2.4.jar (255.7 KB) 下载次数: 10 json-lib-2.2.3-jdk15.jar (145 KB) 下载次数: 14 ezmorph-1.0.6.jar (84.5 KB) 下载次数: 15 commons-collections-3.2.1.jar (561.9 KB) 下载次数: 14
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: