dependencies {
implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.10.5'
}
import com.fasterxml.jackson.dataformat.cbor.CBORGenerator;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
public class CBORGeneratorExample {
public static void main(String[] args) throws IOException {
ObjectMapper mapper = new ObjectMapper();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
CBORGenerator generator = mapper.writerFor(Object.class).with(generatorFeatures).writeValues(outputStream);
generator.writeStartObject();
generator.writeStringField("name", "Alice");
generator.writeNumberField("age", 25);
generator.writeEndObject();
generator.close();
byte[] cborData = outputStream.toByteArray();
}
}
import com.fasterxml.jackson.dataformat.cbor.CBORFactory;
import com.fasterxml.jackson.dataformat.cbor.CBORParser;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.ByteArrayInputStream;
import java.io.IOException;
public class CBORParserExample {
public static void main(String[] args) throws IOException {
byte[] cborData = new byte[] { 0xA2, 0x64, 0x6E, 0x61, 0x6D, 0x65, 0x64, 0x65, 0x41, 0x6C, 0x69, 0x63, 0x65, 0x18, 0x19 };
ObjectMapper mapper = new ObjectMapper(new CBORFactory());
ByteArrayInputStream inputStream = new ByteArrayInputStream(cborData);
CBORParser parser = mapper.readerFor(Object.class).with(parserFeatures).readValues(inputStream);
while (parser.hasNext()) {
Object cborObject = parser.next();
if (cborObject instanceof Map<?, ?>) {
Map<?, ?> cborMap = (Map<?, ?>) cborObject;
String name = (String) cborMap.get("name");
int age = (int) cborMap.get("age");
System.out.println("name: " + name);
System.out.println("age: " + age);
}
}
parser.close();
}
}