Un traitement efficace des fichiers JSON est important dans les applications modernes. Si le fichier JSON est volumineux, nous devons le gérer correctement pour éviter les erreurs de mémoire insuffisante et une forte consommation de ressources.
GSON est l'une des meilleures bibliothèques disponibles en Java pour traiter les fichiers JSON.
Il fournit une instance thread-safe pour réutiliser le même objet pour traiter plusieurs requêtes.
Il ne s'attend à ce qu'aucune annotation soit disponible pour la sérialisation et la désérialisation, sauf cas particulier.
Il fournit les méthodes toJson() et fromJson() pour la sérialisation et la désérialisation.
Il fournit un support pour lire le contenu à l'aide de lecteurs de flux.
Vous trouverez ci-dessous l'extrait de code permettant de lire le fichier à l'aide de lecteurs de flux Java et de le convertir en objet Java. J'applique ma logique métier pour 100 enregistrements.
Assomption Le fichier JSON contient un tableau de données comme ci-dessous.
[
{
"identifiant": 1,
"firstName": "Emily",
"nom": "Johnson"
>
]
Code Java
private Optional<Boolean> readFile(String path) { try (InputStream inputStream = Files.newInputStream(Path.of(path)); JsonReader reader = new JsonReader(new InputStreamReader(inputStream))) { Instant start = Instant.now(); reader.beginArray(); List<User> users = new ArrayList<>(); while (reader.hasNext()) { users.add(gson.fromJson(reader, User.class)); if (users.size() >= 100) { //Initiate your records processing //You can consider processing it async way handling failure scenarios properly users.clear(); } } reader.endArray(); LOGGER.info("Total time taken to process file:{}, Duration:{} (millis)", path, Duration.between(start, Instant.now()).toMillis()); } catch (Exception e) { LOGGER.error("", e); return Optional.of(false); } return Optional.of(true); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!