环境准备
添加所需jar包
jsonlib2.4
1.简单javabean转换成json
Person.java
public class Person{
public Person() {}
public Person(String name) {
this.name = name;
}
private String name;
// getters & setters
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
SimpleBeanToJSON .java
import net.sf.json.JSONObject;
import util.JSON;
public class SimpleBeanToJSON {
/**
* @param args
* @throws CloneNotSupportedException
*/
public static void main(String[] args) throws CloneNotSupportedException {
Person person=new Person("thatluck");
JSONObject arrobj=JSON.getJsonObject(person);
System.out.println(arrobj);
}
}
输出结果:
{“name”:”thatluck”}
2.复杂javabean转成成json
Group.java
import java.util.List;
public class Group {
private List<Person> group;
private String groupName;
public List<Person> getGroup() {
return group;
}
public void setGroup(List<Person> group) {
this.group = group;
}
public String getGroupName() {
return groupName;
}
public void setGroupName(String groupName) {
this.groupName = groupName;
}
}
ComplexBeanToJSON .java
import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONObject;
import util.JSON;
public class ComplexBeanToJSON {
/**
* @param args
* @throws CloneNotSupportedException
*/
public static void main(String[] args) throws CloneNotSupportedException {
Group group=new Group();
List<Person> g=new ArrayList<Person>();
group.setGroupName("BAT");
Person liyanhong=new Person("李彦宏");
Person mayun=new Person("马云");
Person mahuateng=new Person("马化腾");
g.add(liyanhong);
g.add(mayun);
g.add(mahuateng);
group.setGroup(g);
JSONObject arrobj=JSON.getJsonObject(group);
System.out.println(arrobj);
}
}
输出结果
{“group”:[{“name”:”李彦宏”},{“name”:”马云”},{“name”:”马化腾”}],”groupName”:”BAT”}
3.json转成简单javabean
JSONToSimpleBean.java
import net.sf.json.JSONObject;
public class JSONToSimpleBean {
public static void main(String[] args){
String json = "{'name':'thatluck'}";
JSONObject jsonObject = JSONObject.fromObject( json );
Person obj=(Person)JSONObject.toBean(jsonObject,Person.class);
System.out.print(obj.getName());
}
输出结果:
thatluck
4.json转成复杂javabean
JSONToComplexBean.java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import net.sf.ezmorph.Morpher;
import net.sf.ezmorph.MorpherRegistry;
import net.sf.ezmorph.bean.BeanMorpher;
import net.sf.json.JSONObject;
import net.sf.json.util.JSONUtils;
import util.JSON;
public class JSONToComplexBean {
public static void main(String[] args){
String json = "{'group':[{'name':'李彦宏'},{'name':'马云'},{'name':'马化腾'}],'groupName':'BAT'}";
Map classMap = new HashMap();
classMap.put( "group", Person.class );
classMap.put("groupName", String.class);
Group bean = (Group) JSONObject.toBean( JSONObject.fromObject(json), Group.class, classMap );
Morpher dynaMorpher = new BeanMorpher( Person.class, JSONUtils.getMorpherRegistry() );
MorpherRegistry morpherRegistry=new MorpherRegistry();
morpherRegistry.registerMorpher( dynaMorpher );
List output = new ArrayList();
for( Iterator i = bean.getGroup().iterator(); i.hasNext(); ){
output.add( morpherRegistry.morph( Person.class, i.next() ) );
}
bean.setGroup( output );
Person p=(Person)bean.getGroup().get(1);
System.out.println(p.getName());
JSONObject arrobj=JSON.getJsonObject(bean);
System.out.println(arrobj);
}
}
输出结果:
马云
{"group":[{"name":"李彦宏"},{"name":"马云"},{"name":"马化腾"}],"groupName":"BAT"}
注意事项:
javabean要么不写构造方法,要么一定要有无参构造方法
更多使用案例参考官方网址:
http://json-lib.sourceforge.net/usage.html