的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庫,或**此外**?謝謝。 –