ディスク上に非常に大きな .json ファイルがあります。Jackson パーサーを使用して、これを Java オブジェクトとしてインスタンス化したいと考えています。
ファイルは次のようになります。
[ { "prop1": "some_value",
"prop2": "some_other_value",
"something_random": [
// ... arbitrary list of objects containing key/value
// pairs of differing amounts and types ...
]
},
// ... repated many times ...
{
}
]
基本的に、これはオブジェクトの大きな配列であり、各オブジェクトにはそれを識別する 2 つの文字列プロパティがあり、次にオブジェクトの別の内部配列があり、各オブジェクトはプロパティと値のランダムなコレクションであり、ほとんどが文字列と int ですが、配列も含まれる場合があります。
このオブジェクト レイアウトのため、これらのオブジェクトを簡単にインスタンス化するために使用できるセット スキーマはありません。org.json プロセッサを使用するには、ファイル全体に文字列を割り当てようとする必要がありますが、サイズが原因で失敗することがよくあります。そこでストリーミングパーサーを使いたいのですが、まったくなじみがありません。
最後に必要なのは、String が prop1 の値で、SomeObject がオブジェクト全体のデータを保持するもの (最上位の配列エントリ) である Map です。おそらく、後で必要になったときに解析できる JSON だけでしょうか?
とにかく、このためのコードを書く方法についてのアイデアは大歓迎です。