一、所需jar包
commons-beanutils-1.9.1.jar
commons-collections-3.2.2.jar
commons-lang-2.6.jar
commons-logging-1.1.1.jar
ezmorph-1.0.6.jar
json-lib-2.4-jdk15.jar
另外如果commons-collections-3.2.jar没有或版本不对的话会出现 org/apache/commons/collections/map/ListOrderedMap 这个异常。
二、示例
package com.json;
import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class JsonTest {
public static void main(String[] args) {
JsonTest jt = new JsonTest();
jt.ListToJsonArray();
jt.ObjectToJsonObject();
jt.StringToJsonObject();
jt.JsonStringToJavaObject();
jt.JsonStringToJsonArray();
}
public void ListToJsonArray()
{
List<User> userList = new ArrayList<>();
userList.add(new User("1",1));
userList.add(new User("2",2));
userList.add(new User("3",3));
System.out.println("List转JSONArray");
System.out.println("-------------------------------------------");
JSONArray array = JSONArray.fromObject(userList);
System.out.println(array.toString());
System.out.println("*******************************************");
}
public void JsonStringToJsonArray()
{
System.out.println("Json String Array转JSONArray");
System.out.println("-------------------------------------------");
String str = "[{'name':'1','age':1},{'name':'2','age':2},{'name':'3','age':3}]";
JSONArray array = JSONArray.fromObject(str);
List<User> userList = (List<User>) JSONArray.toCollection(array,User.class);
for(User user:userList)
{
System.out.println(user.toString());
}
}
public void ObjectToJsonObject()
{
System.out.println("Java对象转JSONObject");
System.out.println("-------------------------------------------");
User user = new User("4",4);
JSONObject object = JSONObject.fromObject(user);
System.out.println(object.toString());
System.out.println("*******************************************");
}
public void StringToJsonObject()
{
System.out.println("String转JSONObject");
System.out.println("-------------------------------------------");
String str = "{\"name\":\"4\",\"age\":4}";
JSONObject object = JSONObject.fromObject(str);
System.out.println(object.toString());
String str1 = "{'name':'5','age':5}";
JSONObject object1 = JSONObject.fromObject(str1);
System.out.println(object1.toString());
System.out.println("*******************************************");
}
public void JsonStringToJavaObject()
{
System.out.println("String转Java对象");
System.out.println("-------------------------------------------");
String str = "{'name':'5','age':5}";
JSONObject object = JSONObject.fromObject(str);
User user = (User) JSONObject.toBean(object,User.class);
System.out.println(user.toString());
System.out.println("*******************************************");
}
}
User对象
package com.json;
public class User {
private String name;
private int age;
public User()
{
}
public User(String name,int age)
{
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "User [name=" + name + ", age=" + age + "]";
}
}