1 导入相关的jar包
commons-beanutils-1.8.3.jar
commons-collections-3.2.1.jar
commons-lang-2.5.jar
commons-logging-1.1.1.jar
ezmorph-1.0.6.jar
json-lib-2.3-jdk15.jar
morph-1.1.1.jar
morph-sandbox-1.1.1.jar
2 具体知识
1. json是什么
* 它是js提供的一种数据交换格式!
2. json的语法
* {}:是对象!
> 属性名必须使用双引号括起来!单引不行!!!
> 属性值:
* null
* 数值
* 字符串
* 数组:使用[]括起来
* boolean值:true和false
3. 应用json
* var person = {"name":"zhangSan", "age":18, "sex":"male"};
4. json与xml比较
* 可读性:XML胜出
* 解析难度:JSON本身就是JS对象(主场作战),所以简单很多
* 流行度:XML已经流行好多年,但在AJAX领域,JSON更受欢迎。
json-lib
1. 是什么?
* 它可以把javabean转换成json串
2. jar包
* 略
3. 核心类
* JSONObject --> Map
> toString();
> JSONObject map = JSONObject.fromObject(person):把对象转换成JSONObject对象
* JSONArray --> List
> toString()
> JSONArray jsonArray = JSONObject.fromObject(list):把list转换成JSONArray对象
具体实例:
// 生成json格式: {"id":1,"name":"张三"}
@Test
public void test1() throws Exception {
JSONObject map = new JSONObject();
map.put("id", 1);
map.put("name", "张三");
System.out.println(map.toString());
}
// 把javaBean转换成jsonObject {"id":1,"password":"admin","username":"admin"}
@Test
public void test2() throws Exception {
User user = new User(1,"admin","admin");
JSONObject map = JSONObject.fromObject(user);
System.out.println(map.toString());
}
// jsonArray ---> list 数组
// [{"id":1,"password":"admin","username":"admin"}]
// javaBean
@Test
public void test3() throws Exception {
User user = new User(1,"admin","admin");
JSONArray jsonArray = new JSONArray();
jsonArray.add(user);
System.out.println(jsonArray.toString());
}
// 把List转换成jsonArray
//[{"id":1,"password":"admin","username":"abc"},{"id":2,"password":"cde","username":"cde"}]
@Test
public void test4() throws Exception {
List<User> list = new ArrayList<User>();
list.add(new User(1,"abc","admin"));
list.add(new User(2,"cde","cde"));
// 把list转换成jsonArray
JSONArray jArray = JSONArray.fromObject(list);
System.out.println(jArray.toString());
}
// jsonConfig
//[{"password":"admin"}]
@Test
public void test5() throws Exception {
User user = new User(1,"admin","admin");
List<User> list = new ArrayList<User>();
list.add(user);
// >>指定不返回的字段字段
JsonConfig config = new JsonConfig();
config.setExcludes(new String[]{"id","username"});
//生成json数据
String json = JSONArray.fromObject(list,config).toString();
System.out.println(json);
}