Si on enlève la récursion dans le code, ça ne résout pas totalement le soucis. On met alors plus de temps à atteindre la limite, puisque c'est la taille max de la pile de stockage du chemin vers le nœud actuellement traité, mais la limite existe toujours.
J'ai un peu de mal à comprendre cette fixation sur ce point, alors que les parseurs json ont des points d'incompatibilité plus gênants que ça. J'sais plus avec quel parseur c'était, mais j'ai souvenir des champs mis volontairement à null virés de l'arbre en mémoire, parce qu'allez vous faire voir avec les standards.
Avec en entrée
{ "toto": null }
ça donnait en sortie :
{}
Il fallait alors activer un flag pour être compatible avec le standard.
Sans parler des fonctionnalités utiles mais pas dans le standard pour des raisons dogmatiques, comme les commentaires. Vu que c'est pratique, forcément, il y a des parseurs qui l'intègrent. Et quand on tombe sur un autre parseur pas compatible, on déchante.
Ceci dit, ça reste toujours moins pire que le CSV qui est l'absence totale de standard.
# La récursion serait le seul problème ?
Posté par damaki . En réponse au journal Tous les parsers JSON sont mauvais. Évalué à 2.
Si on enlève la récursion dans le code, ça ne résout pas totalement le soucis. On met alors plus de temps à atteindre la limite, puisque c'est la taille max de la pile de stockage du chemin vers le nœud actuellement traité, mais la limite existe toujours.
J'ai un peu de mal à comprendre cette fixation sur ce point, alors que les parseurs json ont des points d'incompatibilité plus gênants que ça. J'sais plus avec quel parseur c'était, mais j'ai souvenir des champs mis volontairement à null virés de l'arbre en mémoire, parce qu'allez vous faire voir avec les standards.
Avec en entrée
ça donnait en sortie :
Il fallait alors activer un flag pour être compatible avec le standard.
Sans parler des fonctionnalités utiles mais pas dans le standard pour des raisons dogmatiques, comme les commentaires. Vu que c'est pratique, forcément, il y a des parseurs qui l'intègrent. Et quand on tombe sur un autre parseur pas compatible, on déchante.
Ceci dit, ça reste toujours moins pire que le CSV qui est l'absence totale de standard.