JSONObjects を含む org.json.JSONArray があり、それらを POJO にマップしようとしています。マップ先の POJO のタイプを知っています。2 つのオプションがあり、どちらがパフォーマンスに優れているかを把握しようとしています。
オプション1:
ObjectMapper mapper = new ObjectMapper();
ObjectReader reader = mapper.reader().withType(MyPojo.class);
for (int i = 0; i < jsonArr.length(); i++) {
JSONObject obj = jsonArr.getJSONObject(i);
MyPojo pojo = reader.readValue(obj.toString());
... other code dealing with pojo...
}
オプション 2:
ObjectReader mapper = new ObjectMapper();
for (int i = 0; i < jsonArr.length(); i++) {
JSONObject obj = jsonArr.getJSONObject(i);
MyPojo pojo = mapper.convertvalue(obj, MyPojo.class);
... other code dealing with pojo...
}
議論のために、JSONArray の長さが 100 であると仮定しましょう。
ソースコードからこれまで見てきたことから、オプション 1 は、デシリアライゼーション コンテキストとデシリアライザーが 1 回だけ作成されるため、より良いように見えますが、オプション 2 の場合は呼び出しごとに実行されます。
考え?
ありがとう!