//方法一,將json解析后賦給單獨的元素 String jstr="{'json':'jsonvalue','bool':true,'int':1,'double':'20.5'}"; JSONObject json=JSONObject.fromObject(jstr); boolean bool=json.getBoolean("bool"); int i=json.getInt("int"); double d=json.getDouble("double"); String value=json.getString("json"); System.out.println("bool="+String.valueOf(bool)+"\tjson="+value+"\tint="+i+"\tdouble="+d);
//方法二,json對象和bean對象之間相互轉換 //假如你是有一個bean對象 class User{ private String name; private String psw; //封裝getter/setter省略 } //把一個json對象變成user String u="{'name':'sail331x','psw':'123456789'}"; //用user對象接收json中的元素 User user=(User)JSONObject.toBean(JSONObject.fromObject(u),User.class); //把一個user變成json對象: JSONObject juser=JSONObject.fromObject(user); //json字符串jstr String jstr=juser.toString();
//方法三,json對象直接轉list集合、list集合轉json對象 //聲明一個Person 實體類: import java.util.Date; public class Person { String id; int age; String name; Date birthday; //get,set方法省略 } //測試json數據轉換 import java.util.Iterator; import java.util.List; import org.junit.Test; import net.sf.json.JSONArray; import net.sf.json.JsonConfig; public class JsonToList { public static void main(String[] args) { String json="[{'name':'zhuangsan','age':18},{'name':'lisi','age':20}]"; JSONArray jsonarray = JSONArray.fromObject(json); System.out.println(jsonarray); List list = (List)JSONArray.toCollection(jsonarray, Person.class); Iterator it = list.iterator(); while(it.hasNext()){ Person p = (Person)it.next(); System.out.println(p.getAge()); } } @Test public void jsonToList1(){ String json="[{'name':'zhuangsan','age':18},{'name':'lisi','age':20}]"; JSONArray jsonarray = JSONArray.fromObject(json); System.out.println(jsonarray); List list = (List)JSONArray.toList(jsonarray, Person.class); Iterator it = list.iterator(); while(it.hasNext()){ Person p = (Person)it.next(); System.out.println(p.getAge()); } } @Test public void jsonToList2(){ String json="[{'name':'zhuangsan','age':20},{'name':'lisi','age':18}]"; JSONArray jsonarray = JSONArray.fromObject(json); System.out.println(jsonarray); System.out.println("------------"); List list = (List)JSONArray.toList(jsonarray, new Person(), new JsonConfig()); Iterator it = list.iterator(); while(it.hasNext()){ Person p = (Person)it.next(); System.out.println(p.getAge()); } } } //將list對象轉為JSON字符串數組: import java.util.LinkedList; import java.util.List; import net.sf.json.JSONArray;
public class ListToJson { public static void main(String[] args) { List list = new LinkedList(); for(int i=0;i<3;i++){ Person p = new Person(); p.setAge(i); p.setName("name"+i); list.add(p); } JSONArray jsonarray = JSONArray.fromObject(list); System.out.println(jsonarray); } }