Maison  >  Article  >  Java  >  Introduction à plusieurs formes de conversion Javabean et JSON

Introduction à plusieurs formes de conversion Javabean et JSON

黄舟
黄舟original
2017-08-23 10:26:141825parcourir

L'éditeur suivant vous proposera un article qui traite en détail de plusieurs formes de conversion JSON et Javabean. L'éditeur le trouve plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence pour tout le monde. Suivons l'éditeur et jetons un coup d'œil.

Le transfert de données au format JSON est l'une des méthodes les plus couramment utilisées. La liste suivante répertorie plusieurs formulaires et conversions couramment utilisés avec les Javabeans :


<.>

String json1="{&#39;name&#39;:&#39;zhangsan&#39;,&#39;age&#39;:23,&#39;interests&#39;:[{&#39;interest&#39;:&#39;篮球&#39;,&#39;colors&#39;:[&#39;绿色&#39;,&#39;黄色&#39;]},{&#39;interest&#39;:&#39;足球&#39;,&#39;colors&#39;:[&#39;红色&#39;,&#39;蓝色&#39;]}]}";
String json2="[{&#39;name&#39;:&#39;zhangsan&#39;},{&#39;name&#39;:&#39;lisi&#39;},{&#39;name&#39;:&#39;王五&#39;}]";
String json3="{&#39;1&#39;:{&#39;name&#39;:&#39;zhangsan&#39;},&#39;3&#39;:{&#39;name&#39;:&#39;lisi&#39;},&#39;4&#39;:{&#39;name&#39;:&#39;wangwu&#39;}}";//map
String json4="{&#39;name&#39;:&#39;zhangsan&#39;,&#39;age&#39;:23}";
Premièrement, la transformation repose ici sur deux packages JAR


<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
 <dependency>
  <groupId>com.google.code.gson</groupId>
  <artifactId>gson</artifactId>
  <version>2.8.1</version>
 </dependency>
 <!-- https://mvnrepository.com/artifact/org.json/json -->
 <dependency>
  <groupId>org.json</groupId>
  <artifactId>json</artifactId>
  <version>20170516</version>
 </dependency>
Deuxièmement, le code Javabean encapsulé est le suivant


import java.util.List;

public class UserBean {

 private String name;
 
 private Integer age;
 
 private List<InterestBean> interests;

 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }

 public Integer getAge() {
  return age;
 }

 public void setAge(Integer age) {
  this.age = age;
 }
 
 
 
 
 public List<InterestBean> getInterests() {
  return interests;
 }

 public void setInterests(List<InterestBean> interests) {
  this.interests = interests;
 }




  class InterestBean{
  private String interest;
  
  private List<String> colors;

  public String getInterest() {
   return interest;
  }

  public void setInterest(String interest) {
   this.interest = interest;
  }

  public List<String> getColors() {
   return colors;
  }

  public void setColors(List<String> colors) {
   this.colors = colors;
  }
  
  
 }
 
}
1. Analyse JSON au format json4 ordinaire :


public void testParseJson(){
  
  JSONObject jsonObj = new JSONObject(json4);
  String name = jsonObj.getString("name");
  int age = jsonObj.getInt("age");
  System.out.println(name);
  System.out.println(age);
  UserBean user = new UserBean();
  user.setAge(age);
  user.setName(name);
  
 }
2. :


public void testJsonArray(){
  JSONArray jsonArray = new JSONArray(json2);
  for (int i = 0; i < jsonArray.length(); i++) {
   JSONObject jsonObj = jsonArray.getJSONObject(i);
   String name = jsonObj.getString("name");
   System.out.println(name);

  }
 }


/**
  * 解析json数组
  */
 public void testParseListJson(){
  Gson gson = new Gson();
  Type type = new TypeToken<List<UserBean>>(){}.getType();
  List<UserBean> users = gson.fromJson(json2, type);
  for(UserBean user:users){
   System.out.println(user.getName());
  }
 }
3. Analyse JSON et GSON sous forme JSON intégrée :


/**
  * 内嵌JSON解析
  */
 public void testParseJson1(){
  JSONObject rootJson = new JSONObject(json1);
  JSONArray jsonInterestArray = rootJson.getJSONArray("interests");
  for (int i = 0; i < jsonInterestArray.length(); i++) {
   JSONObject interestJsonObj = jsonInterestArray.getJSONObject(i);
   String interest = interestJsonObj.getString("interest");
   System.out.println(interest);
   Object obj = interestJsonObj.get("colors");
   System.out.println(obj);
  }
 }


/**
  * 内嵌GSON解析
  */
 public void testSimpleJson(){
  Gson gson = new Gson();
  UserBean user = gson.fromJson(json1, UserBean.class);
  System.out.println(user.getName());
  System.out.println(user.getAge());
  System.out.println(user.getInterests().size());
  List<InterestBean> list = user.getInterests();
  for(InterestBean bean:list) {
   System.out.println(bean.getInterest());
   List<String> colors = bean.getColors();
   for(String color:colors){
    System.out.println(color);
   }
  }
 }
4. Analyse GSON de JSON sous forme de carte :


/**
  * 解析一个map类型的json
  */
 public void testParseMapJson(){
  Gson gson = new Gson();
  Type type = new TypeToken<Map<String,UserBean>>(){}.getType();
  Map<String,UserBean> map = gson.fromJson(json3, type);
  Set<String> keys = map.keySet();
  for(String key:keys){
   UserBean bean = map.get(key);
   System.out.println(key);
   System.out.println(bean.getName());
  }
 }
5. Encapsuler un objet JavaBean au format JSON


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn