json 序列化和反序列化

JAVA学习网 2018-05-29 07:09:02

一: 序列化意义:

  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()+"=======");

 

阅读(885) 评论(0)