需要的包:commons-beanutils-1.8.0.jar commons-collections.jar commons-lang.jar commons-logging.jar ezmorph-1.0.3.jar json-lib-2.3-jdk15.jar
package com;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class Test {
public static void main(String[] args) {
Person p1=new Person();
p1.setName("张山");
p1.setAge("20");
Person p2=new Person();
p2.setName("李四");
p2.setAge("23");
List list=new ArrayList();
list.add(p1);
list.add(p2);
Map map=new HashMap();
map.put("aa", "11");
map.put("bb", true);
map.put("cc", new String[]{"hong","li"});
JSONArray jaa=JSONArray.fromObject(list);
JSONArray jam=JSONArray.fromObject(map);
JSONObject jo=JSONObject.fromObject(map);
System.out.println(jaa.toString());
System.out.println(jam.toString());
System.out.println(jo.toString());
String str="{\"age\":\"20\",\"name\":\"张山\"},{\"age\":\"23\",\"name\":\"李四\"}";
JSONObject jsonObject = JSONObject.fromObject(str);
Object obj=JSONObject.toBean(jsonObject);
System.out.println();
}
}
遇到的问题
Exception in thread "main" net.sf.json.JSONException: java.lang.NoSuchMethodException: Property 'age' has no getter method in class 'class com.Person'
解决:声明bean为public class xxx,必须是public,我用默认类型(class xxx)都不行