Json-lib可以將Java對象轉成json格式的字串,也可以將Java對象轉換成xml格式的文檔,同樣可以將json字串轉換成Java對象或是將xml字串轉換成Java對象。
一、 準備工作
1、 首先要去官方下載json-lib工具包
下載地址:
http://sourceforge.net/projects/json-lib/files/json-lib/json-lib-2.4/
目前最新的是2.4的版本,本樣本中使用的是v2.3;json-lib還需要以下依賴包:
jakarta commons-lang 2.5
jakarta commons-beanutils 1.8.0
jakarta commons-collections 3.2.1
jakarta commons-logging 1.1.1
ezmorph 1.0.6
官方網址:http://json-lib.sourceforge.net/
然後在工程中添加如下jar包:
當然你也可以用2.4的json-lib庫
你可以在這裡看看官方提供的樣本:
http://json-lib.sourceforge.net/usage.html
由於本次介紹的樣本需要junit工具,所以你還需要添加junit的jar檔案,版本是4.8.2版本的,下載地址:https://github.com/KentBeck/junit/downloads
如果你還不瞭解JSON是什麼。那麼你應該可以看看http://www.json.org/json-zh.html
2、 要轉換的JavaBean的代碼如下:
package com.hoo.entity;
public class Student {
private int id;
private String name;
private String email;
private String address;
private Birthday birthday;
//setter、getter
public String toString() {
return this.name + "#" + this.id + "#" + this.address + "#" + this.birthday + "#" + this.email;
}
}
Birthday.java
package com.hoo.entity;
public class Birthday {
private String birthday;
public Birthday(String birthday) {
super();
this.birthday = birthday;
}
//setter、getter
public Birthday() {}
@Override
public String toString() {
return this.birthday;
}
}
注意,上面的getter、setter方法省略了,自己構建下。
3、 建立JsonlibTest測試類別,基本代碼如下:
package com.hoo.test;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import net.sf.json.JSON;