如何使用 Jackson 将 json 对象的属性解析为地图

时间:2021-03-30 21:47:06

标签: java json jackson yaml

我想将 YAML 对象的属性读入 Map,而无需提前知道 Map 键是什么。

我的班级:

DialogData_Constructor = {
  
    name = "", id = "", has_blocked = false, blocked_by = false, messages = { }, time_stamps = { },
    
    New = function()
        local tab = {}
        for i, v in pairs(DialogData_Constructor) do
            tab[i] = v
        end
        return tab
    end,

    AddNewMessage = function( message, time_stamp )
        table.insert ( .messages, message ) -- how do I insert new data into this table?
        table.insert ( .time_stamps, time_stamp)
    end
}

我想要的是用两个明显的条目填充我的 Java 地图。但是当我运行这个测试时,我得到一个 UnrecognizedPropertyException:

    final static String mapExample =
                    "abc: 1\n" +
                    "def: 20\n";

    @Data
    static class MapTestClass {
        Map<String, Integer> answers;
    }

    @Test
    public void mapTest() throws JsonProcessingException {

        ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
        MapTestClass mapTestClass = mapper.readValue(mapExample, MapTestClass.class);
    }

有没有简单的方法可以做到这一点?我想避免使用 ObjectMapper.readTree(),因为我确实希望映射器将数据填充到一个定义良好的类中(这个例子摘自一个更复杂的结构)。

0 个答案:

没有答案
相关问题