Boon - Guide rapide

Boonest une boîte à outils Java simple pour JSON. Vous pouvez utiliser Boon JSON pour encoder ou décoder des données JSON de manière efficace et plus rapide.

Caractéristiques de Boon

Les fonctionnalités de Boon sont expliquées ci-dessous -

  • Fast - Boon JSON est plus rapide à la sérialisation des objets, permettant l'expression JSON et l'analyse JSON par rapport à Jackson.

  • Lightweight - Il a très peu de classes et fournit les fonctionnalités nécessaires comme l'encodage / décodage du mappage d'objets.

  • Data Binding - La plupart des opérations sont effectuées à l'aide de la liaison de données et de la superposition d'index.

  • No public tree model - La vue de l'utilisateur final est une vue de liaison de données.

  • Supports simple data binding - Fournit la liaison de données avec les primitives ainsi que la boxe automatique.

  • High performance - Un analyseur basé sur le tas est utilisé et offre des performances élevées.

  • No dependency- Aucune dépendance de bibliothèque externe. Peut être inclus indépendamment.

  • JDK1.2 compatible - Le code source et le binaire sont compatibles JDK1.2

Dans ce chapitre, nous en apprendrons davantage sur la configuration de l'environnement local de Boon et comment configurer le chemin de Boon pour Windows 2000 / XP, Windows 95/98 / ME etc. Nous comprendrons également certains éditeurs java populaires et comment télécharger Archives Boon.

Configuration de l'environnement local

Si vous souhaitez toujours configurer votre environnement pour le langage de programmation Java, ce chapitre vous explique comment télécharger et configurer Java sur votre machine. Veuillez suivre les étapes mentionnées ci-dessous pour configurer l'environnement.

Java SE est disponible gratuitement à partir du lien www.oracle.com/java/technologies/oracle-java-archive-downloads.html . Vous téléchargez donc une version basée sur votre système d'exploitation.

Suivez les instructions pour télécharger Java et exécuter le .exepour installer Java sur votre machine. Une fois que vous avez installé Java sur votre machine, vous devez définir les variables d'environnement pour qu'elles pointent vers les répertoires d'installation corrects -

Chemin pour Windows 2000 / XP

Nous supposons que vous avez installé Java dans c:\Program Files\java\jdk annuaire -

  • Faites un clic droit sur 'My Computer' et sélectionnez 'Properties'.

  • Clique sur le 'Environment variables' bouton sous le 'Advanced' languette.

  • Maintenant, modifiez la variable «Path» afin qu'elle contienne également le chemin vers l'exécutable Java. Exemple, si le chemin est actuellement défini sur'C:\WINDOWS\SYSTEM32', puis changez votre chemin pour lire 'C:\WINDOWS\SYSTEM32;c:\Program Files\java\jdk\bin'.

Chemin pour Windows 95/98 / ME

Nous supposons que vous avez installé Java dans c:\Program Files\java\jdk annuaire -

  • Modifiez le fichier 'C: \ autoexec.bat' et ajoutez la ligne suivante à la fin - 'SET PATH =% PATH%; C: \ Program Files \ java \ jdk \ bin'

Chemin pour Linux, UNIX, Solaris, FreeBSD

La variable d'environnement PATH doit être définie pour pointer vers l'endroit où les binaires Java ont été installés. Reportez-vous à la documentation de votre shell si vous avez des difficultés à faire cela.

Exemple, si vous utilisez bash comme shell, vous ajouteriez la ligne suivante à la fin de votre '.bashrc: export PATH = / path / to / java: $ PATH'

Éditeurs Java populaires

Pour écrire vos programmes Java, vous avez besoin d'un éditeur de texte. Il existe de nombreux IDE sophistiqués disponibles sur le marché. Mais pour l'instant, vous pouvez envisager l'un des éléments suivants -

  • Notepad - Sur la machine Windows, vous pouvez utiliser n'importe quel éditeur de texte simple comme Notepad (recommandé pour ce tutoriel), TextPad.

  • Netbeans- Il s'agit d'un IDE Java open-source et gratuit qui peut être téléchargé sur www.netbeans.org/index.html .

  • Eclipse- Il s'agit également d'un IDE Java développé par la communauté open source eclipse et peut être téléchargé sur www.eclipse.org .

Télécharger Boon Archive

Téléchargez la dernière version du fichier jar Boon à partir de Maven Repository - Boon. qui est disponible àhttps://mvnrepository.com/artifact/io.fastjson/boon. Dans ce tutoriel, boon-0.34.jar est téléchargé et copié dans le dossier C: \> boon.

OS Nom de l'archive
les fenêtres boon-0.34.jar
Linux boon-0.34.jar
Mac boon-0.34.jar

Définir l'environnement Boon

Met le BOONvariable d'environnement pour pointer vers l'emplacement du répertoire de base où Boon jar est stocké sur votre machine. En supposant, nous avons extraitboon-0.34.jar dans le dossier Boon sur divers systèmes d'exploitation comme suit.

OS Production
les fenêtres Définissez la variable d'environnement BOON sur C: \ Boon
Linux export BOON = / usr / local / Boon
Mac export BOON = / Bibliothèque / Boon

Définir la variable CLASSPATH

Met le CLASSPATHvariable d'environnement pour pointer vers l'emplacement du pot Boon. En supposant que vous ayez stocké boon-0.34.jar dans le dossier Boon sur divers systèmes d'exploitation comme suit.

OS Production
les fenêtres Définissez la variable d'environnement CLASSPATH sur% CLASSPATH%;% Boon% \ boon-0.34.jar;.;
Linux export CLASSPATH = $ CLASSPATH: $ BOON / boon-0.34.jar :.
Mac export CLASSPATH = $ CLASSPATH: $ BOON / boon-0.34.jar :.

ObjectMapperest la principale classe d'acteurs de la bibliothèque Boon. La classe ObjectMapper fournit des fonctionnalités pour lire et écrire du JSON, soit vers et depuis des POJO de base (Plain Old Java Objects), soit vers et depuis un modèle d'arbre JSON à usage général (JsonNode), ainsi que des fonctionnalités associées pour effectuer des conversions.

Il est également hautement personnalisable pour fonctionner à la fois avec différents styles de contenu JSON et pour prendre en charge des concepts d'objets plus avancés tels que le polymorphisme et l'identité d'objet.

Exemple

L'exemple suivant utilise la classe ObjectMapper pour analyser une chaîne JSON en un objet étudiant.

import org.boon.json.JsonFactory;
import org.boon.json.ObjectMapper;

public class BoonTester {
   public static void main(String args[]){
      ObjectMapper mapper = JsonFactory.create();
      String jsonString = "{\"name\":\"Mahesh\", \"age\":21}";

      Student student = mapper.readValue(jsonString, Student.class);
      System.out.println(student);
   }
}
class Student {
   private String name;
   private int age;
   public Student(){}
   public String getName() {
      return name;
   }
   public void setName(String name) {
      this.name = name;
   }
   public int getAge() {
      return age;
   }
   public void setAge(int age) {
      this.age = age;
   }
   public String toString(){
      return "Student [ name: "+name+", age: "+ age+ " ]";
   }
}

Production

La sortie est mentionnée ci-dessous -

Student [ name: Mahesh, age: 21 ]

ObjectMapper La classe peut également être utilisée pour analyser un objet json to Map au lieu d'un objet POJO.

Exemple

L'exemple suivant utilise la classe ObjectMapper pour analyser une chaîne JSON en un objet Map.

import java.util.Map;
import org.boon.json.JsonFactory;
import org.boon.json.ObjectMapper;

public class BoonTester {
   public static void main(String args[]) {
      ObjectMapper mapper = JsonFactory.create();
      String jsonString = "{\"name\":\"Mahesh\", \"age\":21}";
      Map studentMap = mapper.readValue(jsonString, Map.class);
      System.out.println("Name: " + studentMap.get("name"));
      System.out.println("Age: " + studentMap.get("age"));
   }
}

Production

La sortie est donnée ci-dessous -

Name: Mahesh
Age: 21

ObjectMapperLa classe peut être utilisée pour analyser un json à partir de différentes sources. Il peut utiliser les sources suivantes pour analyser JSON.

  • byte Array

  • char Array

  • File

  • Classes de lecteurs

  • Classes de flux d'entrée

  • String

Exemple

L'exemple suivant utilise la classe ObjectMapper pour analyser un tableau de caractères JSON en un objet Map.

import java.util.Map;
import org.boon.json.JsonFactory;
import org.boon.json.ObjectMapper;

public class BoonTester {
   public static void main(String args[]){
      ObjectMapper mapper = JsonFactory.create();
      String jsonString = "{\"name\":\"Mahesh\", \"age\":21}";
      char[] jsonCharAray = jsonString.toCharArray();
      Map studentMap = mapper.readValue(jsonCharAray, Map.class);
      System.out.println("Name: " + studentMap.get("name"));
      System.out.println("Age: " + studentMap.get("age"));
   }
}

Production

Vous verrez la sortie suivante -

Name: Mahesh
Age: 21

ObjectMapper La classe peut être utilisée pour générer une chaîne json à partir d'un objet.

Exemple

L'exemple suivant utilise la classe ObjectMapper pour générer une chaîne JSON à partir d'un objet étudiant.

import org.boon.json.JsonFactory;
import org.boon.json.ObjectMapper;

public class BoonTester {
   public static void main(String args[]){
      ObjectMapper mapper = JsonFactory.create();      
      Student student = new Student("Mahesh", 21);
      String jsonString = mapper.writeValueAsString(student);
      System.out.println(jsonString);
   }
}
class Student {
   public String name;
   public int age;
   public Student(String name, int age) {
      this.name = name;
      this.age = age;
   }
}

Production

Cela produit la sortie suivante -

{"name":"Mahesh","age":21}

ObjectMapper La classe peut être utilisée pour générer une chaîne json à partir d'une carte.

Exemple

L'exemple suivant utilise la classe ObjectMapper pour générer une chaîne JSON à partir d'un objet Map.

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.boon.json.JsonFactory;
import org.boon.json.ObjectMapper;

public class BoonTester {
   public static void main(String args[]){
      ObjectMapper mapper = JsonFactory.create();      
      Map<String, String> student = new HashMap<>();
      student.put("Name", "Mahesh");
      student.put("RollNo", "21");
      
      Map<String, String> student1 = new HashMap<>();
      student1.put("Name", "Suresh");
      student1.put("RollNo", "22");
      
      List<Map<String,String>> studentList = new ArrayList<>();
      studentList.add(student);
      studentList.add(student1);
      
      Map<String, List> studentMap = new HashMap<String, List>();
      studentMap.put("students", studentList);
      
      String jsonString = mapper.writeValueAsString(studentMap);
      System.out.println(jsonString);
   }
}

Production

Lorsque vous exécutez le code ci-dessus, vous devriez voir la sortie suivante -

{"students":[{"RollNo":"21","Name":"Mahesh"},{"RollNo":"22","Name":"Suresh"}]}

ObjectMapperLa classe peut être utilisée pour travailler avec différents formats de date dans JSON. Il peut être utilisé pour analyser / générer une version longue de la date.

Exemple

L'exemple suivant utilise la classe ObjectMapper pour générer une chaîne de date à partir d'une version longue.

import java.util.Date;
import org.boon.json.JsonFactory;
import org.boon.json.ObjectMapper;

public class BoonTester {
   public static void main(String args[]) {
      ObjectMapper mapper = JsonFactory.create();      
      String jsonString = "{\"name\":\"Mahesh\", \"age\":21, \"dateOfBirth\":976559400000}";
      
      //mapper converts long to date automatically
      Student student = mapper.readValue(jsonString, Student.class);
      System.out.println(student.dateOfBirth);    
      
      //by default mapper converts date to long
      jsonString = mapper.writeValueAsString(student);
      System.out.println(jsonString);    
   }
}
class Student {
   public String name;
   public int age;
   public Date dateOfBirth;
   
   public Student(String name, int age, Date dateOfBirth) {
      this.name = name;
      this.age = age;
      this.dateOfBirth = dateOfBirth;
   }
}

Production

Ci-dessous est la sortie du code -

Tue Dec 12 00:00:00 IST 2000
{"name":"Mahesh","age":21,"dateOfBirth":976559400000}

ObjectMapperLa classe peut être utilisée pour travailler avec différents formats de date dans JSON. Il peut être utilisé pour analyser / générer une version String de date.

Exemple

L'exemple suivant utilise la classe ObjectMapper pour générer une chaîne Date à partir d'une version String.

import java.util.Date;
import org.boon.json.JsonFactory;
import org.boon.json.ObjectMapper;

public class BoonTester {
   public static void main(String args[]) {
      ObjectMapper mapper = JsonFactory.create();      
      String jsonString = "{\"name\":\"Mahesh\", \"age\":21, \"dateOfBirth\":\"1998-08-11T11:31:00.034Z\" }";
      
      // mapper converts String to date automatically
      Student student = mapper.readValue(jsonString, Student.class);
      System.out.println(student.dateOfBirth);    
      
      // by default mapper converts date to long
      jsonString = mapper.writeValueAsString(student);
      System.out.println(jsonString);    
   }
}
class Student {
   public String name;
   public int age;
   public Date dateOfBirth;
   
   public Student(String name, int age, Date dateOfBirth) {
      this.name = name;
      this.age = age;
      this.dateOfBirth = dateOfBirth;
   }
}

Production

Lorsque vous exécutez le code ci-dessus, vous devriez voir la sortie suivante -

Tue Aug 11 17:01:00 IST 1998
{"name":"Mahesh","age":21,"dateOfBirth":902835060034}

ObjectMapperLa classe peut être utilisée pour travailler avec différents formats de date dans JSON. Il peut également être utilisé pour générer un objet de date. Par défaut, ObjectMapper génère la date en version longue millisecondes. En utilisant ObjectMapper retourné par la méthode JsonFactory.createUseJSONDates (), nous pouvons obtenir une version chaîne de date lors de l'analyse.

Exemple

L'exemple suivant utilise la classe ObjectMapper pour générer une chaîne Date en analysant JSON.

import java.util.Date;
import org.boon.json.JsonFactory;
import org.boon.json.ObjectMapper;

public class BoonTester {
   public static void main(String args[]) {
      ObjectMapper mapper = JsonFactory.createUseJSONDates();     
      String jsonString = "{\"name\":\"Mahesh\", \"age\":21, \"dateOfBirth\":\"1998-08-11T11:31:00.034Z\" }";
      
      //mapper converts String to date automatically
      Student student = mapper.readValue(jsonString, Student.class);
      System.out.println(student.dateOfBirth);    
      
      //Mapper converts date to date string now
      jsonString = mapper.writeValueAsString(student);
      System.out.println(jsonString);    
   }
}
class Student {
   public String name;
   public int age;
   public Date dateOfBirth;
   public Student(String name, int age, Date dateOfBirth) {
      this.name = name;
      this.age = age;
      this.dateOfBirth = dateOfBirth;
   }
}

Production

Vous recevrez la sortie suivante -

Tue Aug 11 17:01:00 IST 1998
{"name":"Mahesh","age":21,"dateOfBirth":"1998-08-11T11:31:00.034Z"}

@JsonIgnore est utilisé au niveau du champ pour marquer une propriété ou une liste de propriétés à ignorer.

Exemple - @JsonIgnore

L'exemple suivant est pour @JsonIgnore -

import org.boon.json.JsonFactory;
import org.boon.json.ObjectMapper;
import org.boon.json.annotations.JsonIgnore;

public class BoonTester {
   public static void main(String args[]) {
      ObjectMapper mapper = JsonFactory.create();      
      Student student = new Student(1,11,"1ab","Mark");  
      String jsonString = mapper.writeValueAsString(student);
      System.out.println(jsonString);    
   }
}
class Student {
   public int id;
   @JsonIgnore
   public String systemId;
   public int rollNo;
   public String name;

   Student(int id, int rollNo, String systemId, String name) {
      this.id = id;
      this.systemId = systemId;
      this.rollNo = rollNo;
      this.name = name;
   }
}

Production

Vous verrez la sortie suivante -

{"id":1,"rollNo":11,"name":"Mark"}

@JsonInclude est utilisé pour inclure des propriétés ayant des valeurs nulles / vides ou par défaut. Par défaut, Boon ignore ces propriétés lors de la sérialisation / désérialisation.

Exemple - @JsonInclude

L'exemple suivant est pour @JsonInclude -

import org.boon.json.JsonFactory;
import org.boon.json.ObjectMapper;
import org.boon.json.annotations.JsonInclude;

public class BoonTester {
   public static void main(String args[]) {
      ObjectMapper mapper = JsonFactory.createUseAnnotations( true );     
      Student student = new Student(1,null);  
      String jsonString = mapper.writeValueAsString(student);
      System.out.println(jsonString);    
   }
}
class Student {
   public int id; 
   @JsonInclude
   public String name;

   Student(int id, String name) {
      this.id = id;
      this.name = name;
   }
}

Production

Lorsque le script s'exécute avec succès, vous verrez la sortie suivante -

{"id":1,"name":null}

@JsonViews est utilisé pour contrôler les valeurs à sérialiser ou non.

Exemple - @JsonView

L'exemple suivant est pour @JsonView -

import org.boon.json.JsonSerializer;
import org.boon.json.JsonSerializerFactory;
import org.boon.json.annotations.JsonViews;

public class BoonTester {
   public static void main(String args[]) {
      JsonSerializer serializerPublic = new JsonSerializerFactory()
         .useAnnotations()
         .setView( "public" )
         .create();
      
      JsonSerializer serializerInternal = new JsonSerializerFactory()
         .useAnnotations()
         .setView( "internal" )
         .create();
      
      Student student = new Student(1,"Mark", 20);
      String jsonString = serializerPublic.serialize( student ).toString();
      System.out.println(jsonString);         
      jsonString = serializerInternal.serialize( student ).toString();
      System.out.println(jsonString);
   }
}
class Student {   
   public int id;   
   public String name;
   @JsonViews( ignoreWithViews = {"public"}, includeWithViews = {"internal"})
   public int age;

   Student(int id, String name, int age) {
      this.id = id;
      this.name = name;
      this.age = age;
   }
}

Production

Nous obtiendrons la sortie similaire comme suit -

{"id":1,"name":"Mark"}
{"id":1,"name":"Mark","age":20}

@JsonProperty est utilisé pour marquer la méthode getter / setter non standard à utiliser par rapport à la propriété json.

Exemple - @JsonProperty

L'exemple suivant est pour @JsonProperty -

import org.boon.json.JsonFactory;
import org.boon.json.ObjectMapper;
import org.boon.json.annotations.JsonProperty;

public class BoonTester {
   public static void main(String args[]) {
      ObjectMapper mapper = JsonFactory.create();     
      Student student = new Student(1);  
      String jsonString = mapper.writeValueAsString(student);
      System.out.println(jsonString);    
   }
}
class Student { 
   private int id;
   Student(){}
   Student(int id){
      this.id = id;
   }
   @JsonProperty("id")
   public int getTheId() {
      return id;
   }
   @JsonProperty("id")
   public void setTheId(int id) {
      this.id = id;
   }   
}

Production

Lors de l'exécution, vous recevrez la sortie suivante -

{"id":1}