从地图生成json

时间:2018-12-03 16:35:51

标签: json hive bigdata objectmapper

我有一个这样的班级:

    Public class person {
    private String name;
    private String city;
    private Map<String,Object> mapOfColumns;}

我正在尝试从“人物映射”对象生成json,并且正在使用“对象映射器”。

    Map<String, Person> personMap;
    objectMapper.writeValue(g, personMap.values());

其中g是JsonGenerator。

生成以下json:

[{"name":"Mansi", "city": "x", "mapofColumns":{"key1":"value1", "Key2":"value2"}}]

我的问题是我想生成类似以下内容的

[{"name":"Mansi", "city": "x", "mapOfColumns_key1":"value1", "mapOfColumns_Key2":"value2"}]

,这样我就可以通过dremio或hive读取此数据以进行查询,因为我也想查询mapOfColumns的各个元素。此外,mapOfColums值中的键在此映射中不是固定的。在给定的时间可能存在550个键中的几个,因此我不想预先定义任何模式。我想要像Object Mapper之类的东西,因为我不想为mapOfColumns值的数百个元素存储空值,因此无需事先定义架构。

我正在尝试使用自定义序列化程序,但不确定是否在正确的路径上。预先感谢!

0 个答案:

没有答案