ジャワ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"
}
これを実装するための最良の(「最もクリーンな」)方法は何ですか?
現在、フィールドを 1 つずつ「手動で」抽出しています (上記の例の場合)。
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"));
「ワンショット」でこれを達成するのに役立つある種の「正規表現」はありますか?
与えられた例に対する答えは高く評価されます。
ありがとう