详谈JSON与Javabean转换的几种形式

  

JSON格式的数据传递是最常用的方法之一,以下列出了常用的几种形态以及与Javabean之间的转换:

        字符串json1="{“名称”:“zhangsan”,“年龄”:23日,“利益”:[{“兴趣”:“篮球”,“颜色”:[“绿色”、“黄”色]},{“兴趣”:“足球”,“颜色”:[‘红色”、“蓝”色]}]}”;   字符串json2="[{“名称”:“zhangsan”},{“名称”:“lisi”},{“名称”:“王”五}]”;   字符串json3="{' 1 ':{“名称”:“zhangsan”},“3”:{“名称”:“lisi”},“4”:{“名称”:‘wangwu}}”;//地图   字符串json4="{“名称”:“zhangsan”,“年龄”:23}”;      之前      

首先,此处的转化依赖两个JAR包

        & lt; !——https://mvnrepository.com/artifact/com.google.code.gson/gson——比;   & lt; dependency>   & lt; groupId> com.google.code.gson   & lt; artifactId> gson   & lt; version> 2.8.1   & lt;/dependency>   & lt; !——https://mvnrepository.com/artifact/org.json/json——比;   & lt; dependency>   & lt; groupId> org.json   & lt; artifactId> json   & lt; version> 20170516 & lt;/version>   & lt;/dependency>      

其次,封装的Javabean代码如下

        进口并不知道;      公开课出发{      私人字符串名称;      私人整数年龄;      私人List兴趣爱好;      公共字符串getName () {   返回名称;   }      公共空间setName(字符串名称){   this.name=名称;   }      公共整数getAge () {   返回年龄;   }      公共空间setAge(整数年龄){   这一点。年龄=年龄;   }               公共ListgetInterests () {   返回的利益;   }      公共空间setInterests (List利益){   this.interests=利益;   }               类InterestBean {   私人字符串的兴趣;      私人List颜色;      公共字符串getInterest () {   返回的兴趣;   }      公共空间setInterest (String利息){   this.interest=利息;   }      公共List色鬼(){   返回颜色;   }      公共空间改变颜色(List颜色){   这一点。颜色=颜色;   }         }      }      

1,普通的json4格式的JSON解析:

        公共空间testParseJson () {      JSONObject jsonObj=new JSONObject (json4);   字符串名称=jsonObj.getString(“名字”);   int年龄=jsonObj.getInt(“时代”);   System.out.println(名称);   System.out.println(年龄);   出发用户=new出发();   user.setAge(年龄);   user.setName(名称);      }      

2,数组形式的JSON解析以及GSON解析:

        公共空间testJsonArray () {   JSONArray JSONArray JSONArray=new (json2);   for (int i=0;我& lt;jsonArray.length ();我+ +){   JSONObject jsonObj=jsonArray.getJSONObject(我);   字符串名称=jsonObj.getString(“名字”);   System.out.println(名称);      }   }         /* *   *解析json数组   */公共空间testParseListJson () {   Gson Gson=new Gson ();   型类型=new TypeToken用户=gson.fromJson (json2类型);   (出发用户:用户){   System.out.println (user.getName ());   }   }      

3,内嵌JSON形式的JSON与GSON解析:

     /* *   *内嵌JSON解析   */公共空间testParseJson1 () {   JSONObject rootJson=new JSONObject (json1);   JSONArray jsonInterestArray=rootJson.getJSONArray(“利益”);   for (int i=0;我& lt;jsonInterestArray.length ();我+ +){   JSONObject interestJsonObj=jsonInterestArray.getJSONObject(我);   字符串的兴趣=interestJsonObj.getString(“利益”);   System.out.println(利益);   对象obj=interestJsonObj.get(“颜色”);   System.out.println (obj);   }   }         /* *   *内嵌GSON解析   */公共空间testSimpleJson () {   Gson Gson=new Gson ();   出发用户=gson.fromJson (json1 UserBean.class);   System.out.println (user.getName ());   System.out.println (user.getAge ());   .size System.out.println (user.getInterests () ());   List

详谈JSON与Javabean转换的几种形式