【发布时间】:2021-05-16 01:18:24
【问题描述】:
我有一个键值对的排序列表(按键),如下所示:
administration.edit.error.type1 = val1
administration.edit.error.type2 = val2
administration.edit.success.type1 = val3
administration.label.button.close = val4
administration.label.button.edit = val5
home.label.button.open = val6
我想将此列表转换为
{
"administration": {
"edit": {
"error": {
"type1": val1,
"type2": val2,
},
"success": {
"type1": val3
}
},
"label": {
"button": {
"close": val4,
"edit": val5,
}
}
},
"home": {
"label": {
"button": {
"open": val6
}
}
}
}
提供的输入列表是未知的,以及由点连接的级别
我的方法是递归地遍历列表并使用 Jackson 映射器创建 JsonNodes。有没有更有效的方法来做到这一点?是否有图书馆已经可以做到这一点?
【问题讨论】:
-
是任何特定类型的值吗?或者只是什么?
-
它们只是字符串。
-
在这种情况下,您也许可以使用 JsonNodeFactory 实现一个简单的解析器,并在看到
.时创建一个对象,并在看到=时创建一个字符串。 -
我会试一试,谢谢!