解析と管理のための本当に大きなJSONファイルがあります。私のJSONファイルにはこのような構造が含まれています
[
{"id": "11040548","key1":"keyValue1","key2":"keyValue2","key3":"keyValue3","key4":"keyValue4","key5":"keyValue5","key6":"keyValue6","key7":"keyValue7","key8":"keyValue8","key9":"keyValue9","key10":"keyValue10","key11":"keyValue11","key12":"keyValue12","key13":"keyValue13","key14":"keyValue14","key15":"keyValue15"
},
{"id": "11040549","key1":"keyValue1","key2":"keyValue2","key3":"keyValue3","key4":"keyValue4","key5":"keyValue5","key6":"keyValue6","key7":"keyValue7","key8":"keyValue8","key9":"keyValue9","key10":"keyValue10","key11":"keyValue11","key12":"keyValue12","key13":"keyValue13","key14":"keyValue14","key15":"keyValue15"
},
....
{"id": "11040548","key1":"keyValue1","key2":"keyValue2","key3":"keyValue3","key4":"keyValue4","key5":"keyValue5","key6":"keyValue6","key7":"keyValue7","key8":"keyValue8","key9":"keyValue9","key10":"keyValue10","key11":"keyValue11","key12":"keyValue12","key13":"keyValue13","key14":"keyValue14","key15":"keyValue15"
}
]
私のJSONファイルにはニュースWebサイトのトピックに関するデータが含まれており、実質的に毎日このJSONファイルは劇的に増加します。
そのファイルの解析には、私が使用します
URL urlLinkSource = new URL(OUTBOX_URL);
urlLinkSourceReader = new BufferedReader(new InputStreamReader(
urlLinkSource.openStream(), "UTF-8"));
ObjectMapper mapper = new ObjectMapper();
List<DataContainerList> DataContainerListData = mapper.readValue(urlLinkSourceReader,new TypeReference<List<DataContainerList>>() { }); //DataContainerList contains id, key1, key2, key3..key15
私の問題は、この行にロードしたいということです
List<DataContainerList> DataContainerListData = mapper.readValue(urlLinkSourceReader,new TypeReference<List<DataContainerList>>() { });
JSONオブジェクトの範囲のみ(最初の10個のオブジェクト、2番目の10個のオブジェクト)。アプリにページングモードでニュースを10個だけ表示する必要があるためです(常に、表示する必要のある10個のインデックスを知っています)。10,000個のオブジェクトをロードし、そのうちの最初の10個だけを反復するのは完全に愚かでした。だから私の質問は、これと同じようにロードする方法です:
List<DataContainerList> DataContainerListData = mapper.readValue(urlLinkSourceReader,new TypeReference<List<DataContainerList>>() { });
JSONファイル全体のすべてのオブジェクトをロードせずにインデックスFROM-TO(たとえば30から40)を持つオブジェクトのみ?
よろしく