<dependency>
<groupId>io.protostuff</groupId>
<artifactId>protostuff-core</artifactId>
<version>1.6.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
<version>2.12.3</version>
</dependency>
import io.protostuff.Tag;
public class Person {
@Tag(1)
private String name;
@Tag(2)
private int age;
// getters and setters
}
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import io.protostuff.LinkedBuffer;
import io.protostuff.ProtostuffIOUtil;
import io.protostuff.Schema;
import io.protostuff.runtime.RuntimeSchema;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
public class SerializationExample {
public static void main(String[] args) throws IOException {
Person person = new Person();
person.setName("Alice");
person.setAge(25);
ObjectMapper objectMapper = new ObjectMapper(new YAMLFactory());
String yaml = objectMapper.writeValueAsString(person);
System.out.println(yaml);
}
}
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import io.protostuff.LinkedBuffer;
import io.protostuff.ProtostuffIOUtil;
import io.protostuff.Schema;
import io.protostuff.runtime.RuntimeSchema;
import java.io.IOException;
public class DeserializationExample {
public static void main(String[] args) throws IOException {
String yaml = "name: Alice
age: 25";
ObjectMapper objectMapper = new ObjectMapper(new YAMLFactory());
Person person = objectMapper.readValue(yaml, Person.class);
System.out.println(person.getName());
System.out.println(person.getAge());
}
}