/ / Est-il possible d'utiliser le combinateur d'analyseur de Scala pour analyser un fichier texte JSON ligne par ligne? - scala, analyse de texte, analyseurs-analyseurs

Est-il possible d'utiliser le combinateur d'analyseur de Scala pour analyser un fichier texte JSON ligne par ligne? - scala, analyse de texte, analyseurs-analyseurs

Est-il possible d'utiliser le combinateur d'analyseur de Scala pour analyser un fichier texte JSON ligne par ligne?

Je suis nouveau sur Scala. En lisant le livre "Programmation en Scala", je me suis intéressé au combinateur d'analyseur de Scala et l'intention d'écrire un simple analyseur JSON en tant que pratique.

J'ai l'intention de lire un fichier texte et d'analyser le contenu du fichier. Par un peu de recherche, j'ai réalisé que la lecture tout le contenu du fichier en mémoire (tel que Source.fromFile("1.json").getLines.mkString) puis nourrir ce contenu à la méthode parseAll n'est pas recommandé

Donc, ma question est la suivante: est-il possible de lire le fichier texte ligne par ligne et de procéder ensuite à l'analyse syntaxique?

J'ai cherché en ligne mais je ne pouvais trouver aucun indice.

Tous les conseils sont appréciés. Je vous remercie!

Réponses:

0 pour la réponse № 1

Vous pourriez faire quelque chose comme:

Source.fromFile("1.json").getLines.forEach

L'itérateur que vous récupérez est un BufferedLineIterator ce qui signifie qu'il ne lira pas toutes les lignes en mémoire par défaut. Le moment où vous appelez mkString Vous demandez à l'itérateur de lire toutes les lignes et d'en créer une chaîne.

La seule chose à garder à l'esprit est que vous devez être prêt pour les objets JSON sur plusieurs lignes.

{"id": 1, "name": "Joe"}

ou

{
"id": 1,
"name": "Joe"
}

devrait produire le même objet, mais lire ligne par ligne exemple 2 est un peu plus délicat