11

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 の場合は呼び出しごとに実行されます。

考え?

ありがとう!

4

1 に答える 1