Page 1 sur 1

Recherche d'un PARSER JSON performant

Posté : jeu. 13 août 2020, 10:52:36
par Yoanne
bonjour,

je dois parser un gros flux JSON(>300000 caractères) qui peut comporter jusqu'à 1100 objets répartis dans des listes. Nous utilisons actuellement la méthode JSON_PARSE de Mihael Schmidt et le temps de réponse > à 36s n'est pas accepté par le client utilisateur. Et même en essayant de scinder le flux et parser par blocs, ça reste suffisamment lent pour l'utilisateur.

Je cherche donc une méthode performante qui me permettrait de parser mon flux, de récupérer les données dans une DS et qui réduirait le temps de réponse. Que pourriez-vous me conseiller, svp? (on est en V7r3).

Voici le modèle du flux à parser:

[
{
"coefficientEcretement": 0,
"echeanciersDesGaranties": [
{
"assiette": "Aucune",
"coefficientClasseDeProfession": 0,
"echeances": [
{
"montantAssietteDeCotisation": 0,
"montantCommissionDistributeur": 0,
"montantCotisation": 0,
"montantCotisationHT": 0,
"montantCotisationSansReductionCouple": 0,
"montantFraisDelegataire": 0,
"montantRemunerationAssureur": 0,
"montantSurprimeMedicale": 0,
"nbMoisDepuisDebutPret": 0,
"numeroEcheance": 1,
"tauxCompletEquivalentAnnuel": 0,
"tauxDeBaseEquivalentAnnuel": 0,
"tauxTaxe": 0
}
],
"garantie": "DC",
"garantieEnEntree": "DC",
"quotite": 0,
"tauxDeCotisationAnnuelDerogatoire": 0,
"tauxDeCotisationAnnuelDerogatoireMax": 0,
"tauxDeCotisationAnnuelDerogatoireMin": 0
}
],
"echeancierToutesGaranties": {
"echeances": [
{
"capitalRestantDu": 0,
"montantCotisation": 0,
"montantCotisationHT": 0,
"montantCotisationSansReductionCouple": 0,
"montantSurprimeMedicale": 0,
"nbMoisDepuisDebutPret": 0,
"numeroEcheance": 1
}
]
},
"ecretementApplique": true,
"idTarificationPret": "string",
"imc": 0,
"imcCorrect": true,
"synthese": {
"coutTotalAssurance": 0,
"coutTotalAssuranceAtteintAEcheanceAnnuelle": [
0
],
"montantCotisationMax": 0,
"montantCotisationMin": 0,
"montantCotisationMoyenne": 0,
"reductionCoupleAppliquee": true,
"taea": 0,
"tarificationSurCapitalRestantDu": true
},
"taeaApresEcretement": 0
}
]

Re: Recherche d'un PARSER JSON performant

Posté : jeu. 13 août 2020, 16:37:29
par cmasse
Il a deux autres possibilités

en SQL : JSON_TABLE (fonction table)
en RPG : YAJL (Yet Another Json Library) de scott Klement -> http://www.scottklement.com/yajl/

A tester pour les temps de réponse....

Re: Recherche d'un PARSER JSON performant

Posté : ven. 14 août 2020, 10:27:25
par Yoanne
Merci Christian,

j'ai opté pour le YAJL simple (pas le YAJLINTO car ma version RDI est < 9.6). Comme j'avais une DS très imbriquée et complexe, c'était plus facile à mettre en oeuvre, car j'ai un deadline à respecter. Après je ne sais pas s'il est plus performant que le JSON_TABLE, mais il est déjà plus performant que le JSON_PARSE avec mon flux.

Yoanne