2017-01-11 13 views
0

ジャクソンが扱うことができるJSONファイルのサイズには制限がありますか? JSONが大きくなることがあります。簡単な例:ジャクソンが扱うJsonの最大サイズ

{ 
    "people": [ 
    { 
     "Name": "John Smith", 
     "number": "123-456-789" 
    }, 
    {MILIONS OF OTHER PEOPLES} 
    ], 
    "cars": [MILIONS OF CARS], 
    "dogs": [MILIONS OF DOGS], 
    MORE HERE 
} 

5GB以上にすることができます。私はジャクソンを使用してそれを作成し、別のシステムにネットワークで送信する必要があります。記憶は問題ではありませんが、ジャクソンはどうですか?何も問題なく書き込み/読み込めますか?

編集:私は重複しているとは思わない。私は巨大なJsonファイルを解析する方法は問いませんが、Json/Jackson(あれば)の限界は何ですか?

+1

ない、ここで技術的な詳細の確認、関係なく、「メモリが問題にされていない」のは、おそらく何か間違ったことをやっている:あなたはJSONを使用してオブジェクトを永続化している場合、このようにMongoDB(などアドホックのフレームワークを使用することを検討してくださいとにかくデータ構造を変更している可能性があります)。これがネットワークを介して送信される実際の5GBペイロードの場合は、ページングを検討してください。また、ボトムラインには、メモリとパフォーマンスを監視するための特別なツールがたくさんあります。 – Mena

+0

試しましたか? –

+0

@Mena私は、「メモリの事は」私の決定:(私は試すことができますMongoDBの – Uata

答えて

1

ジャクソンのObjectMapperにはJSONを読み込む方法がたくさんあります。

byte[]またはStringを使用する場合は、明らかにこれらのタイプの暗黙的な制限によって制限されます。あなたがFileInputStream、またはReaderを取るものを使用している場合

は、その基礎となる実装によっては、あなたが全体をストリーミングすることができ、特定の時点でメモリ内のファイルの内容全体を保持することはありません。

しかし、ObjectMapperはあなたの呼び出し元に戻す前に、全体のオブジェクトツリーを構築する必要があります。そのツリー内のオブジェクトを構築するために必要なメモリ量は、どれも必要です( )。

ジャクソンは、ハードリミット自体を課すものではありません。

関連する問題