1.後臺接收json數組轉成封裝實體類的List:java
package no.integrasco.ingentia.news.qaedition; public class Person { private String name; private int 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; } } package no.integrasco.ingentia.news.qaedition; import java.util.List; import net.sf.json.JSONArray; import net.sf.json.JsonConfig; public class JsonTest { /** * @param args */ public static void main(String[] args) { // 轉換方法1 JSONArray array = JSONArray.fromObject("[{'name':'hehe','age':22}]"); List<Person> list = JSONArray.toList(array, Person.class);// 過期方法 System.out.println(list.get(0).getName()); // 轉換方法2 List<?> list2 = JSONArray.toList(array, new Person(), new JsonConfig());//參數1爲要轉換的JSONArray數據,參數2爲要轉換的目標數據,即List盛裝的數據 Person person = (Person) list2.get(0); System.out.println(person.getAge()); } }
2.從頁面接收json格式的數據,在java類裏面進行解析json
String jsonStr = {"name":"zfj","dd":[{"ddr":"1","encrypt":"2","ff":"1","length":"23","ffe":"editStyled","ill":"1","pkor":"2","name":"zfj","isKey":"2","alias":"ffff"}],"addRelations":[{"type":"2","ld":"zfj","ld":"2"}]}; //將此字符串放在ruquest或者其餘的變量裏面,傳遞到後臺。 //如放在reques中: request.getRequestDispatcher("/geServlet?data="+jsonStr).forward(request,response); //在servlet或java類裏這樣接收: String json = request.getParameter("data"); JSONObject jsonObject = JSONObject.fromObject(data); String name = jsonObject.getString(「name」); ...... //對於數組這樣接收用 JSONArray jan = (JSONArray) jsonObject.get("dd"); if(jan!=null||jan.size()!=0){ for(int i=0;i<ja.size();i++){ JSONObject jo = JSONObject.fromObject(ja.get(i)); String ff = jo.getString("ff"); ...... } }