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());
}
}
從頁面接收json格式的數據,在java類里面進行解析
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.ge[size=large][/size]tParameter("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");
......
}
}
