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


上一篇:
下一篇:
切换中文