爪哇class JSONObject
:
我有一个 JSON 对象,我只想从中提取一些键/值对到另一个 JSON 对象中。另外,我想更改提取键的名称。最后,我想让输出对象“平坦”(即深度为 1 的所有元素)。
例如:
输入对象:
{
"a":"val_a",
"b":
{
"b1":"val_b1",
"b2":"val_b2"
},
"c":
{
"c1":"val_c1",
"c2":
{
"c21":"val_c21",
"c22":"val_c22"
}
}
}
输出对象:
{
"x":"val_a",
"y":"val_b1",
"z":"val_c22"
}
实现这一点的最佳(“最干净”)方法是什么?
目前,我正在“手动”一一提取字段,如下所示(对于上面的示例):
JSONObject output = new JSONObject();
output.put("x",input.getString("a"));
output.put("y",input.getJSONObject("b").getString("b1"));
output.put("z",input.getJSONObject("c").getJSONObject("c2").getString("c22"));
是否有某种“正则表达式”可以帮助我“一次性”实现这一目标?
对给定示例的答案将不胜感激。
谢谢