zoukankan      html  css  js  c++  java
  • gson解析json

    Json:(JavaScript Object Notation)是一种轻量级的数据交换格式,类似XML,但比XML更小更快更容易解析。客户端与服务器进行数据交互时,常常需要将数据在服务器端将数据转化成字符串并在客户端对json数据进行解析生成对象。但是用jsonObject和jsonArray解析相对麻烦。利用Gson和阿里的fastjson可以很方便的将下面四种常用的数据转换成json字符串,并能够将其解析成原数据对象

    类型一:JavaBean

    类型二:List<JavaBean>

    类型三:List<String>

    类型四:List<Map<String,Object>>

    将上面的四种数据对象转换成json字符串的方法都是一样的

    Gson gson = new Gson();

    String jsonString = gson.toJson(obj);

    百度经验:jingyan.baidu.com

    方法/步骤

    1. 1

      将json字符串转化成JavaBean对象

      Person person = new Person("1","gson",1);

      Gson gson = new Gson();

      //这里将javabean转化成json字符串

      String jsonString = gson.toJson(person);

      System.out.println(jsonString);

      //这里将json字符串转化成javabean对象,

      person = gson.fromJson(jsonString,Person.class);

    2. 2

      将json字符串转化成List<JavaBean>对象

      Person person1 = new Person("1","gson1",1);

      Person person2 = new Person("2","gson2",2);

      List<Person> persons = new ArrayList<Person>();

      persons.add(person1);

      persons.add(person2);

      Gson gson = new Gson();

      //这里将lsit<javabean>转化成json字符串

      String jsonString = gson.toJson(persons);

      //解析json字符串

      List<Person> persons2 = gson.fromJson(jsonString, new TypeToken<List<Person>>(){}.getType());

    3. 3

      将json字符串转化成List<String>对象

      List<String> list = new ArrayList<String>();

      list.add("gson1");

      list.add("gson2");

      list.add("gson3");

      Gson gson = new Gson();

      String jsonString = gson.toJson(list);

      System.out.println("json字符串:"+jsonString);

      //解析json字符串

      List<String> list2 = gson.fromJson(jsonString, new TypeToken<List<String>>(){}.getType());

    4. 4

      将json字符串转化成List<Map<String,Object>>对象

      Map<String,Object> map = new HashMap<String,Object>();

      map.put("key1", "value1");

      map.put("key2", "value2");

      Map<String,Object> map2 = new HashMap<String,Object>();

      map2.put("key1", 1);

      map2.put("key2", 2);

      List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();

      list.add(map);

      list.add(map2);

      Gson gson = new Gson();

      String jsonString = gson.toJson(list);

      System.out.println("json字符串:"+jsonString);

      //解析json字符串

      List<Map<String,Object>> list2 = gson.fromJson(jsonString, new TypeToken<List<Map<String,Object>>>(){}.getType());

  • 相关阅读:
    疫苗玻璃瓶行业,能发生国产替代吗
    马斯克是如何借力打力的?
    什么是分析立体主义
    这5家公司代表了高瓴资本眼中的科技产业未来
    玻尿酸之王华熙生物,为什么要做食品和饮料(下)
    ajax缺点
    babel转码器
    docker 缺陷
    MVVM中的vm双向监听和mvc的缺点
    mybatisPlus中的模糊查询问题
  • 原文地址:https://www.cnblogs.com/jiuqing/p/4135055.html
Copyright © 2011-2022 走看看