ホームページ >データベース >mysql チュートリアル >Java で ResultSet を JSON に効率的に変換するにはどうすればよいですか?

Java で ResultSet を JSON に効率的に変換するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-05 06:19:40258ブラウズ

How Can I Efficiently Convert a ResultSet to JSON in Java?

ResultSet から JSON への効率的な変換

提供されたコードは、JSONArray と JSONObject を使用して、ResultSet を JSON 文字列に効率的に変換します。ただし、速度とメモリの最適化に関しては改善の可能性があります。

速度を向上させる 1 つのアプローチは、コードを簡素化することです。次のコード スニペットは、合理化されたソリューションを提供します。

JSONArray json = new JSONArray();
ResultSetMetaData rsmd = rs.getMetaData();
while(rs.next()) {
  int numColumns = rsmd.getColumnCount();
  JSONObject obj = new JSONObject();
  for (int i=1; i<=numColumns; i++) {
    String column_name = rsmd.getColumnName(i);
    obj.put(column_name, rs.getObject(column_name));
  }
  json.put(obj);
}
return json;

rs.getObject(column_name) を使用して ResultSet からオブジェクトを直接取得することで、列の型を確認し、それに基づいて特定の操作を実行する必要がなくなります。 .

メモリ使用量に関しては、簡略化も貢献しています。元のコードでは、ResultSet の各行に JSONArray と JSONObject の新しいインスタンスが割り当てられるため、不必要なメモリ消費が発生します。最適化されたコードはこれらのインスタンスを再利用し、メモリ フットプリントを削減します。

メモリ使用率をさらに最適化するには、行ごとに新しい JSONObject を作成するのではなく、StringBuilder を使用して JSON 文字列を段階的に構築することを検討してください。このアプローチにより、一時的なメモリ割り当てが最小限に抑えられ、大規模な結果セットのパフォーマンスが大幅に向上します。

以上がJava で ResultSet を JSON に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。