JSON解析方法

JSON解析方法

  • 通常我们可以通过两种方式对JSON进行解析,也可以说是是两种工具:Gson和FastJson。
  • 通过这两种工具我们可以实现:
    • 将Java中的对象 快速的转换为 JSON格式的字符串.
    • 将JSON格式的字符串, 转换为Java的对象.

Gson

  • 将对象转换为JSON字符串
    步骤:

    • 首先引入JAR包
      下载地址:https://github.com/google/gson
    • 在需要转换JSON字符串的位置编写如下代码即可:
      String json = new Gson().toJSON(要转换的对象);
      Book book = new Book("三国演义", "讲述了天下三分,三国争霸的故事");
      String json = new Gson().toJson(book);
      System.out.println(json);
      
  • 将JSON字符串转换为对象
    步骤:

    • 引入JAR包

    • 在需要转换Java对象的位置, 编写如下代码:
      对象 = new Gson().fromJson(JSON字符串,对象类型.class);

      //        1.创建GSON对象
      Gson g = new Gson();
      //        2.将JSON转换为对象
      Book book = g.fromJson("{\"id\":\"三国演义\",\"info\":\"讲述了天下三分,三国争霸的故事\"}", Book.class);
      System.out.println(book.getId());
      System.out.println(book);
      
    • 也可以将JSON字符串转换为集合对象

      HashMap book = g.fromJson("{\"id\":\"三国演义\",\"info\":\"讲述了天下三分,三国争霸的故事\",\"page\":[\"锄禾日当午\",\"汗滴禾下土\",\"谁知盘中餐\",\"粒粒皆辛苦\"]}", HashMap.class);
      System.out.println(book.get("page"));
      System.out.println(book.get("page").getClass());
      List page = (List) book.get("page");
      System.out.println(page.get(1));
      

FastJson

  • 将对象转换为JSON字符串
    步骤:

    • 首先引入JAR包
      下载地址:https://github.com/alibaba/fastjson
    • 在需要转换JSON字符串的位置编写如下代码即可:
      String json=JSON.toJSONString(要转换的对象);
      //        对象转换为JSON
      Book book = new Book("西游记", "讲述了东土大唐高僧唐僧去往西方求取真经的故事");
      String json = JSON.toJSONString(book);
      System.out.println(json);
      
  • 将JSON字符串转换为对象
    步骤:

    • 引入JAR包

    • 在需要转换Java对象的位置, 编写如下代码:
      类型 对象名=JSON.parseObject(JSON字符串, 类型.class);

      List<类型> list=JSON.parseArray(JSON字符串,类型.class);

      // JSON转换为对象{"id":"西游记","info":"讲述了东土大唐高僧唐僧去往西方求取真经的故事"}
      Book book = JSON.parseObject("{\"id\":\"西游记\",\"info\":\"讲述了东土大唐高僧唐僧去往西方求取真经的故事\"}", Book.class);
      System.out.println(book);
      System.out.println(book.getId());
      
    • 与Gson不同的是,在FastJson在将JSON字符串转换为集合对象时,是通过JSON.parseArray(JSON字符串,类型.class)而不再是JSON.parseObject(JSON字符串, 类型.class)。

      //        JSON(数组)转换为对象{"abc","abcd","abcabcd"}
      List<String> str = JSON.parseArray("[\"abc\",\"abcd\",\"abcabcd\"]", String.class);
      System.out.println(str);
      System.out.println(str.get(1));
      

总结

以上就是两个关于解析JSON的方法,如有错误的地方,欢迎指出。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值