Boon - Guía rápida

Boones un sencillo kit de herramientas basado en Java para JSON. Puede usar Boon JSON para codificar o decodificar datos JSON de una manera eficiente y rápida.

Características de Boon

Las características de Boon se explican a continuación:

  • Fast - Boon JSON es más rápido en la serialización de objetos, lo que permite la expresión JSON y el análisis JSON en comparación con Jackson.

  • Lightweight - Tiene muy pocas clases y proporciona las funcionalidades necesarias como codificar / decodificar el mapeo de objetos.

  • Data Binding - La mayoría de las operaciones se realizan mediante enlace de datos y superposición de índices.

  • No public tree model - La vista del usuario final es la vista de enlace de datos.

  • Supports simple data binding - Proporciona enlace de datos con primitivas y con auto boxing.

  • High performance - Se utiliza un analizador basado en montón y proporciona un alto rendimiento.

  • No dependency- Sin dependencia de biblioteca externa. Se puede incluir de forma independiente.

  • JDK1.2 compatible - El código fuente y el binario son compatibles con JDK1.2

En este capítulo, aprenderemos sobre la configuración del entorno local de Boon y cómo configurar la ruta de Boon para Windows 2000 / XP, Windows 95/98 / ME, etc. También entenderemos acerca de algunos editores java populares y cómo descargar Archivo de bendiciones.

Configuración del entorno local

Si aún está dispuesto a configurar su entorno para el lenguaje de programación Java, este capítulo lo guiará sobre cómo descargar y configurar Java en su máquina. Siga los pasos que se mencionan a continuación para configurar el entorno.

Java SE está disponible gratuitamente en el enlace www.oracle.com/java/technologies/oracle-java-archive-downloads.html . Entonces descargas una versión basada en tu sistema operativo.

Siga las instrucciones para descargar Java y ejecutar el .exepara instalar Java en su máquina. Una vez que haya instalado Java en su máquina, necesitará establecer variables de entorno para apuntar a los directorios de instalación correctos -

Ruta para Windows 2000 / XP

Suponemos que ha instalado Java en c:\Program Files\java\jdk directorio -

  • Haga clic derecho en 'My Computer' y seleccione 'Properties'.

  • Clickea en el 'Environment variables' botón debajo del 'Advanced' lengüeta.

  • Ahora, modifique la variable 'Ruta' para que también contenga la ruta al ejecutable de Java. Ejemplo, si la ruta está configurada actualmente en'C:\WINDOWS\SYSTEM32', luego cambia tu ruta para leer 'C:\WINDOWS\SYSTEM32;c:\Program Files\java\jdk\bin'.

Ruta para Windows 95/98 / ME

Suponemos que ha instalado Java en c:\Program Files\java\jdk directorio -

  • Edite el archivo 'C: \ autoexec.bat' y agregue la siguiente línea al final - 'SET PATH =% PATH%; C: \ Program Files \ java \ jdk \ bin'

Ruta para Linux, UNIX, Solaris, FreeBSD

La variable de entorno PATH debe establecerse para que apunte a dónde se han instalado los binarios de Java. Consulte la documentación de su shell si tiene problemas para hacer esto.

Por ejemplo, si usa bash como su shell, entonces agregaría la siguiente línea al final de su '.bashrc: export PATH = / path / to / java: $ PATH'

Editores populares de Java

Para escribir sus programas Java, necesita un editor de texto. Hay muchos IDE sofisticados disponibles en el mercado. Pero por ahora, puede considerar uno de los siguientes:

  • Notepad - En una máquina con Windows, puede usar cualquier editor de texto simple como el Bloc de notas (recomendado para este tutorial), TextPad.

  • Netbeans- Es un IDE de Java de código abierto y gratuito que se puede descargar de www.netbeans.org/index.html .

  • Eclipse- También es un IDE de Java desarrollado por la comunidad de código abierto de eclipse y se puede descargar de www.eclipse.org .

Descarga Boon Archive

Descargue la última versión del archivo jar de Boon de Maven Repository - Boon. que está disponible enhttps://mvnrepository.com/artifact/io.fastjson/boon. En este tutorial, boon-0.34.jar se descarga y se copia en la carpeta C: \> boon.

SO Nombre de archivo
Ventanas boon-0.34.jar
Linux boon-0.34.jar
Mac boon-0.34.jar

Establecer entorno de bendición

Selecciona el BOONvariable de entorno para apuntar a la ubicación del directorio base donde se almacena Boon jar en su máquina. Suponiendo que hemos extraídoboon-0.34.jar en la carpeta Boon en varios sistemas operativos de la siguiente manera.

SO Salida
Ventanas Establezca la variable de entorno BOON en C: \ Boon
Linux exportar BOON = / usr / local / Boon
Mac exportar BOON = / Library / Boon

Establecer la variable CLASSPATH

Selecciona el CLASSPATHvariable de entorno para apuntar a la ubicación del tarro de Boon. Suponiendo que ha almacenado boon-0.34.jar en la carpeta Boon en varios sistemas operativos de la siguiente manera.

SO Salida
Ventanas Establezca la variable de entorno CLASSPATH en% CLASSPATH%;% Boon% \ boon-0.34.jar;.;
Linux export CLASSPATH = $ CLASSPATH: $ BOON / boon-0.34.jar :.
Mac export CLASSPATH = $ CLASSPATH: $ BOON / boon-0.34.jar :.

ObjectMapperes la clase de actor principal de la biblioteca de Boon. La clase ObjectMapper proporciona funcionalidad para leer y escribir JSON, ya sea hacia y desde POJOs básicos (Plain Old Java Objects), o hacia y desde un modelo de árbol JSON de propósito general (JsonNode), así como funcionalidad relacionada para realizar conversiones.

También es altamente personalizable para trabajar con diferentes estilos de contenido JSON y para admitir conceptos de objetos más avanzados, como polimorfismo e identidad de objetos.

Ejemplo

El siguiente ejemplo es el uso de la clase ObjectMapper para analizar una cadena JSON en un objeto de estudiante.

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+ " ]";
   }
}

Salida

La salida se menciona a continuación:

Student [ name: Mahesh, age: 21 ]

ObjectMapper La clase también se puede usar para analizar un json en un objeto Map en lugar de un objeto POJO.

Ejemplo

El siguiente ejemplo es el uso de la clase ObjectMapper para analizar una cadena JSON en un objeto de mapa.

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"));
   }
}

Salida

La salida se da a continuación:

Name: Mahesh
Age: 21

ObjectMapperLa clase se puede usar para analizar un JSON de diferentes fuentes. Puede usar las siguientes fuentes para analizar JSON.

  • matriz de bytes

  • char Array

  • File

  • Clases de lectores

  • Clases de flujo de entrada

  • String

Ejemplo

El siguiente ejemplo es el uso de la clase ObjectMapper para analizar una matriz de caracteres JSON en un objeto de mapa.

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"));
   }
}

Salida

Verá la siguiente salida:

Name: Mahesh
Age: 21

ObjectMapper La clase se puede usar para generar una cadena json a partir de un objeto.

Ejemplo

El siguiente ejemplo es el uso de la clase ObjectMapper para generar una cadena JSON a partir de un objeto de estudiante.

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;
   }
}

Salida

Esto produce la siguiente salida:

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

ObjectMapper La clase se puede usar para generar una cadena json a partir de un mapa.

Ejemplo

El siguiente ejemplo es el uso de la clase ObjectMapper para generar una cadena JSON a partir de un objeto de mapa.

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);
   }
}

Salida

Cuando ejecute el código anterior, debería ver el siguiente resultado:

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

ObjectMapperLa clase se puede usar para trabajar con diferentes formatos de fecha en JSON. Se puede utilizar para analizar / generar una versión larga de la fecha.

Ejemplo

El siguiente ejemplo está utilizando la clase ObjectMapper para generar una cadena de fecha a partir de una versión larga.

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;
   }
}

Salida

A continuación se muestra la salida del código:

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

ObjectMapperLa clase se puede usar para trabajar con diferentes formatos de fecha en JSON. Se puede utilizar para analizar / generar una versión String de la fecha.

Ejemplo

El siguiente ejemplo está utilizando la clase ObjectMapper para generar una cadena de fecha a partir de una versión de cadena.

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;
   }
}

Salida

Cuando ejecute el código anterior, debería ver el siguiente resultado:

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

ObjectMapperLa clase se puede usar para trabajar con diferentes formatos de fecha en JSON. También se puede utilizar para generar objetos de fecha. De forma predeterminada, ObjectMapper genera la fecha en una versión larga de milisegundos. Usando ObjectMapper devuelto por el método JsonFactory.createUseJSONDates (), podemos obtener una versión en cadena de la fecha durante el análisis.

Ejemplo

El siguiente ejemplo está utilizando la clase ObjectMapper para generar una cadena de fecha analizando 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;
   }
}

Salida

Recibirá el siguiente resultado:

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

@JsonIgnore se utiliza a nivel de campo para marcar una propiedad o lista de propiedades que se ignorarán.

Ejemplo: @JsonIgnore

El siguiente ejemplo es para @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;
   }
}

Salida

Verá la siguiente salida:

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

@JsonInclude se usa para incluir propiedades que tienen valores nulos / vacíos o predeterminados. De forma predeterminada, Boon ignora estas propiedades durante la serialización / deserialización.

Ejemplo: @JsonInclude

El siguiente ejemplo es para @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;
   }
}

Salida

Cuando el script se ejecute correctamente, verá el siguiente resultado:

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

@JsonViews se utiliza para controlar valores que se serializarán o no.

Ejemplo: @JsonView

El siguiente ejemplo es para @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;
   }
}

Salida

Obtendremos una salida similar a la siguiente:

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

@JsonProperty se usa para marcar el método getter / setter no estándar que se usará con respecto a la propiedad json.

Ejemplo: @JsonProperty

El siguiente ejemplo es para @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;
   }   
}

Salida

Tras la ejecución, recibirá el siguiente resultado:

{"id":1}