一: 序列化意義: Java序列化是指把Java對象轉換為位元組序列的過程;而Java反序列化是指把位元組序列恢復為Java對象的過程。為了實現兩個Java進程之間傳輸對象等數據。 二: 兩種數據傳輸方式 伺服器傳遞數據到客戶端,主要又兩種數據傳輸格式,json 和 xml。 三: json 形式: j ...
一: 序列化意義:
Java序列化是指把Java對象轉換為位元組序列的過程;而Java反序列化是指把位元組序列恢復為Java對象的過程。為了實現兩個Java進程之間傳輸對象等數據。
二: 兩種數據傳輸方式
伺服器傳遞數據到客戶端,主要又兩種數據傳輸格式,json 和 xml。
三: json 形式:
{ "employees": [ { "firstName":"John" , "lastName":"Doe" }, { "firstName":"Anna" , "lastName":"Smith" }, { "firstName":"Peter" , "lastName":"Jones" } ] }
json 數據可以表示數組以及對象的組合。
四: json 序列化和反序列化三種方式
1. 使用 JavaScriptSerializer 類:
2. 使用DataContractJsonSerializer 類:
3. 使用JSON.NET 類庫:
五: json 序列化的幾種工具:
1. FastJson:http://fastjson.codeplex.com/ 阿裡開發的
String jsons=JSON.toJSONString(studentObj); System.out.println(jsons); Student stu=JSON.parseObject(json, Student.class); System.out.println(stu.getName()+"==========");
2. Jackson :http://jackson.codehaus.org/
//jackson-core obj->json ObjectMapper mapper=new ObjectMapper(); String json=mapper.writeValueAsString(student); System.out.println(json); //jsckson json->obj Student studentObj=mapper.readValue(json, Student.class); System.out.println(studentObj.getName()+"=======");
3.Gson:http://code.google.com/p/google-gson/
//GSON 序列化 obj->json String jsonstr = new Gson().toJson(student); System.out.println(jsonstr); //GSON 反序列化 json->obj Student myobj = new Gson().fromJson(jsonstr, Student.class); System.out.println(myobj.getName()+"=======");