CBOR (Simplified binary object) Introduction to the Java class library framework
CBOR (Simplified binary object) Introduction to the Java class library framework
CBOR (Concise BINARY Object Repositionation) is a lightweight binary data exchange format, which is designed for efficient serialization and transmission data.CBOR is similar to JSON in structure, but uses a binary format to represent data to provide better performance and smaller data transmission volume.The use of CBOR in the Java program can easily serialize and derived data, as well as efficiently processing network communication.This article will introduce some popular CBOR JAVA -class library frameworks and their usage and characteristics.
1. Jackson CBOR
Jackson is a popular Java class library for processing JSON data.Jackson also provides support for CBOR data, which can easily read and write CBOR data through the Jackson CBOR module.Below is an example of serialization and deepertization with Jackson CBOR:
// Import related classes and bags
import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.ObjectMapper;
// Create ObjectMapper objects
ObjectMapper mapper = new ObjectMapper(new JsonFactory());
// Create a Java object
MyObject obj = new MyObject();
obj.setName("Alice");
obj.setAge(25);
// Sequence the java object to CBOR
byte[] cborData = mapper.writeValueAsBytes(obj);
// Turn the CBOR back series to Java object
MyObject deserializedObj = mapper.readValue(cborData, MyObject.class);
2. Cbor-Javon (CDDL)
CBOR-JAVA is a CBOR implementation that follows the RFC 7049 standard. It supports the analysis, generation and verification of CBOR data.CBOR-JAVA describes the data mode using CDDL (CBOR DATA Definition Language), and CDDL can define the structure and constraints of CBOR data.The following is an example of using CBOR-JAVA parsing and generating CBOR data:
// Import related classes and bags
import co.nstant.in.cbor.CborBuilder;
import co.nstant.in.cbor.CborDecoder;
import co.nstant.in.cbor.CborEncoder;
import co.nstant.in.cbor.model.DataItem;
// Create a CBOR data decoder
CborDecoder decoder = new CborDecoder(new ByteArrayInputStream(cborData));
// Decoding CBOR data
List<DataItem> dataItems = decoder.decode();
// Data item after passing down decoding
for (DataItem item : dataItems) {
// Process CBOR data
// ...
}
// Create a CBOR data encoder
CborBuilder builder = new CborBuilder();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
CborEncoder encoder = new CborEncoder(outputStream, builder.build());
// Add data items to encoder
// ...
// Code CBOR data
encoder.encode();
byte[] generatedCborData = outputStream.toByteArray();
3. Eclipse IoT Californium CBOR
Californium is a lightweight Coap (Constrained Application Protocol) framework for connecting limited equipment and resources.The Eclipse IoT Californium CBOR module provides support of CBOR data for the Californium framework.Below is an example of creating and processing CBOR messages using the Californium CBOR module:
// Import related classes and bags
import org.eclipse.californium.core.CoapClient;
import org.eclipse.californium.core.CoapResource;
import org.eclipse.californium.core.coap.CoAP;
import org.eclipse.californium.core.coap.MediaTypeRegistry;
// Create a coap client
CoapClient client = new CoapClient("coap://example.com/resource");
// Create a CBOR message
CoapResource resource = new CoapResource("resource");
byte[] cborData = // ...
// Add CBOR message to resources
resource.setCborContent(cborData, MediaTypeRegistry.APPLICATION_CBOR);
// Processing coap request
CoAP.ResponseCode responseCode = resource.handlePUT(null);
Summarize:
This article introduces several popular CBOR Java library frameworks and their usage and characteristics.Jackson CBOR provides convenient serialization and deepertinetization functions. CBOR-JAVA (CDDL) supports the analysis and generating CBOR data, and uses CDDL for data mode definition. The Eclipse IoT Californium CBOR module provides the support of CBOR data support for the Californium framework.EssenceAccording to project needs and preferences, you can choose the appropriate CBOR Java class library to process CBOR data.