奇怪格式文本的 YAML 解析问题

YAML parsing question for strangely formatted text

我正在尝试解析一些 yaml,但我无法弄清楚我需要使用 YAML 解析器读取它的结构....我在此处对其进行了简化:

name: Test User
age: 30
address:
  /home/joe:
    post:
      summary:  My summary

但无论我做什么,我都会得到这个....

com.fasterxml.jackson.databind.exc.MismatchedInputException: 
    Cannot deserialize value of type `java.lang.String` from Object value (token `JsonToken.START_OBJECT`)
 at [Source: (File); line: 5, column: 5] (through reference chain: User["address"]->java.util.LinkedHashMap["/home/joe"])

我似乎找不到另一个像这样的例子。我在我的测试程序中定义了这些变量类型:

private String name;
private int age;
private Map<String, String> address;

如果文件看起来像这样就可以正常工作:

name: Test User
age: 30
address:
  /home/joe:
  post:
  summary:  My summary

但是一旦我按照实际文件中的方式缩进这些字段,我似乎无法弄清楚我需要解析它的结构。

由于/home/joe下有缩进,它的值是一个对象,所以address 属性需要是Map<String, Object>(或者使用更合适的子类型,例如带有摘要字符串字段的自定义 Post class)并且在给定的示例中大小为 1

如果没有缩进,则 address 地图的大小为 3