ajax请求数据,数据格式以json为准,越来愈广泛。在后台将对象构造成json格式的字符串,或者将json格式的字符串转为对象,如果手工来搞,不但麻烦,且容易出错.借助第三方jar来实现,更省事。下面写了个小例子测试了下。
准备工作,下载架包:fastjson-1.1.15.jar
JSONTest.java
package com.fei.test;
import java.util.ArrayList;
import java.util.List;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.fei.vo.Person;
public class JSONTest {
public static void main(String[] args) {
// testCreateJSONObject();
// testCreateJSONArray();
testJSONConverToPerson(testCreateJSONObject());
testJSONArrayConverToPersons(testCreateJSONArray());
testPersonConverToJSON();
}
private static String testCreateJSONObject(){
JSONObject json = new JSONObject();
json.put("id", "10001");
json.put("name", "张三");
json.put("age", 20);
System.out.println("1.===============1=============");
System.out.println(json.toJSONString());
System.out.println(json.toString());
return json.toJSONString();
}
private static String testCreateJSONArray(){
JSONObject json1 = new JSONObject();
json1.put("id", "10001");
json1.put("name", "张三");
json1.put("age", 20);
JSONObject json2 = new JSONObject();
json2.put("id", "10002");
json2.put("name", "李四");
json2.put("age", 21);
JSONArray array = new JSONArray();
array.add(json1);
array.add(json2);
System.out.println("2.===================2=============");
System.out.println(array.toJSONString());
System.out.println(array.toString());
return array.toJSONString();
}
private static void testJSONConverToPerson(String jsonStr){
Person p =(Person) JSON.parseObject(jsonStr, Person.class);
System.out.println("3.===================3================");
System.out.println(p.getId()+"\t"+p.getName()+"\t"+p.getAge());
}
private static void testJSONArrayConverToPersons(String jsonStr){
List<Person> persons = JSON.parseArray(jsonStr, Person.class);
for(Person p : persons){
System.out.println(p.getId()+"\t"+p.getName()+"\t"+p.getAge());
}
}
private static void testPersonConverToJSON(){
Person p1 = new Person();
p1.setId("0001");;
p1.setName("张三");
p1.setAge(18);
Person p2 = new Person();
p2.setId("0001");;
p2.setName("李四");
p2.setAge(18);
System.out.println("4.==================4=============");
System.out.println(JSON.toJSONString(p1));
List<Person> persons = new ArrayList<Person>();
persons.add(p1);
persons.add(p2);
System.out.println(JSON.toJSONString(persons));
System.out.println(JSON.toJSONString(persons,true).toString());
}
}
运行结果:
1.===============1=============
{"age":20,"id":"10001","name":"张三"}
{"age":20,"id":"10001","name":"张三"}
3.===================3================
10001 张三 20
2.===================2=============
[{"age":20,"id":"10001","name":"张三"},{"age":21,"id":"10002","name":"李四"}]
[{"age":20,"id":"10001","name":"张三"},{"age":21,"id":"10002","name":"李四"}]
10001 张三 20
10002 李四 21
4.==================4=============
{"age":18,"id":"0001","name":"张三"}
[{"age":18,"id":"0001","name":"张三"},{"age":18,"id":"0001","name":"李四"}]
[
{
"age":18,
"id":"0001",
"name":"张三"
},
{
"age":18,
"id":"0001",
"name":"李四"
}
]