Во-первых, вы используете Jackson
аннотацию, но SnakeYaml
библиотека для чтения файла yaml
.Вы должны упростить свое решение:в аннотации.
Модель
Создайте каждый класс как public class
в новом файле.
public class Model {
private SubHeading test;
public SubHeading getTest() {
return test;
}
public void setTest(SubHeading test) {
this.test = test;
}
@Override
public String toString() {
return "Model{" +
"test=" + test +
'}';
}
}
и
public class SubHeading {
private String subHeading;
public String getSubHeading() {
return subHeading;
}
public void setSubHeading(String subHeading) {
this.subHeading = subHeading;
}
@Override
public String toString() {
return "SubHeading{" +
"subHeading='" + subHeading + '\'' +
'}';
}
}
Пример использования:
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
public class YamlTest {
public static void main(String[] args) throws Exception {
ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
mapper.enable(SerializationFeature.INDENT_OUTPUT);
String text = "test:\n" +
" subHeading: \"1234\"";
Model model = mapper.readValue(text, Model.class);
System.out.println(model);
}
}
Над отпечатками:
Model{test=SubHeading{subHeading='1234'}}