之前在上一篇文章JS中的对象时我们提到了JSON对象,下面我们再来看一下。
当然,我们要用JSON的这些方法和对象首先需要导入这种包。如有需要请留言。
我们可以把类对象转换为JSON对象,JSON对象也就是字符串格式。
也就是都是这样的格式:{name:”lisi”,age:20}
@Test
public void test1()
{
Book book = new Book();
book.setId("66666666");
book.setName("作文");
book.setPrice(25.5);
book.setCategory("文学");
book.setDescription("好书");
book.setPnum(100);
// 把Book对象转成 JSON对象 {name:value}
//{name:"lisi",age:20}
JSONObject obj = JSONObject.fromObject(book);
System.out.println(obj.toString());
}
JSONArray,比如将List转换为JSON数组。
@Test
public void test2(){
Book book1 = new Book();
book1.setId("66666666");
book1.setName("作文");
book1.setPrice(25.5);
book1.setCategory("文学");
book1.setDescription("好书");
book1.setPnum(100);
Book book2 = new Book();
book2.setId("266666666");
book2.setName("2作文");
book2.setPrice(25.5);
book2.setCategory("2文学");
book2.setDescription("2好书");
book2.setPnum(200);
List<Book> list =new ArrayList<Book>();
list.add(book1);
list.add(book2);
//把多个Book对象转成JSON数组
JSONArray arr = JSONArray.fromObject(list);
System.out.println(arr.toString());
}
我们还可以直接将从数据库里查询的数据转换为JSON的格式。
用这种方法,我们还可以对封装成JSON的数据进行处理。
比如JsonConfig对象,我们可以设置封装后的JSON对象包含哪些字段。
下面我们进行了详细演示。
关于数据库的连接自行解决把。
@Test
public void test3()
{
QueryRunner qr = new QueryRunner(C3P0Util.getDataSource());
try {
List<Book> list = qr.query("select * from book", new BeanListHandler<Book>(Book.class));
JsonConfig jsonConfig = new JsonConfig();
//排序不需要的字段
jsonConfig.setExcludes(new String[]{"category","description","pnum","price"});//include
System.out.println(JSONArray.fromObject(list,jsonConfig).toString());
} catch (SQLException e) {
e.printStackTrace();
}
}