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}