的Java class JSONObject
:转换JSON对象到另一个JSON对象在Java中
我有一个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"));
是否有某种“正则表达式”,这将有助于我的在“一杆”中实现这一点?
对于给定示例的答案将不胜感激。
感谢
你有没有考虑使用谷歌GSON库? – Alessio
我还没有,但我宁愿“尽可能少地导入”。这个库会来**而不是我已经使用的JSON库,或**此外**?谢谢。 –