阅读 110

JSON与Java对象的相互转换

JSON与Java对象的相互转换

JSON和Java对象的转换一般有两种方式一种1.Gson和FastJson,其中国内一般使用阿里的FastJSon但是会有漏洞。而谷歌的Gson要安全一点

Gson

对象转为JSON格式的字符串

1.创建GSON对象g

2.创建需要转换的对象book

3.g调用toJSon方法


package JSon1;


import com.google.gson.Gson;


public class Demo1 {

    public static void main(String[] args) {

        Gson g = new Gson();

        Book book =new Book(1,"数学","讲述了加减乘出");

        String s = g.toJson(book);

        System.out.println(s);

    }


}


1

2

3

4

5

6

7

8

9

10

11

12

13

14

Json转换为对象

1.创建GSON对象g

2.创建需要转换的对象book

3.g调用fromJson方法,其中传入的是需要转换的Json与转换后对象的类型.class


package JSon1;


import com.google.gson.Gson;


public class Demo2 {

    public static void main(String[] args) {

        Gson g = new Gson();

        //将{"name":"数学","id":1,"info":"讲述了加减乘出"}转换为boo对象,注意“需要转义字符

        Book book = g.fromJson("{\"name\":\"数学\",\"id\":1,\"info\":\"讲述了加减乘出\"}", Book.class);

        System.out.println(book.toString());

    }


}


1

2

3

4

5

6

7

8

9

10

11

12

13

14

Json转换为集合(HashMap)

1.创建Gson对象g

2.g调用fromJson方法,其中参数一传入Json参数二传入HashMap.class

注意:Json内如果属性值是数组那么会转换为Arrylist集合


package JSon1;


import com.google.gson.Gson;


import java.util.HashMap;



public class Demo5 {

    public static void main(String[] args) {

        Gson g = new Gson();

        //将{"name":"数学","id":1,"info":"讲述了加减乘出"}转换为集合,注意“需要转义字符

        HashMap data = g.fromJson("{\"name\":\"数学\",\"id\":1,\"info\":\"讲述了加减乘出\"}", HashMap.class);

        System.out.println(data.get("name"));

    }


}


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

FastJson

将对象转换为json

直接调用Json类的静态方法toJSONString,其中传入的参数是需要转换的对象


package JSon1;


import com.alibaba.fastjson.JSON;


public class Demo3 {

    public static void main(String[] args) {

        Book book = new Book(1,"数学","讲述了加减乘出");

        String js = JSON.toJSONString(book);

        System.out.println(js);

    }


}


1

2

3

4

5

6

7

8

9

10

11

12

13

将Json转换为对象

直接调用Json类的静态方法parseObject,其中传入的是需要转换的Json与转换后对象的类型.class


package JSon1;


import com.alibaba.fastjson.JSON;


public class Demo4 {

    public static void main(String[] args) {

        Book book = JSON.parseObject("{\"id\":1,\"info\":\"讲述了加减乘出\",\"name\":\"数学\"}", Book.class);

        System.out.println(book.toString());

    }


}


————————————————

版权声明:本文为CSDN博主「m0_45046813」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/m0_45046813/article/details/114706147


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐