Recherche d'un PARSER JSON performant

RPG (3 et 4, free), CL, SQL, etc...
Répondre
Yoanne
Messages : 2
Enregistré le : lun. 10 août 2020, 15:05:11

Recherche d'un PARSER JSON performant

Message 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
}
]

cmasse
Site Admin
Messages : 794
Enregistré le : mer. 14 févr. 2007, 18:00:03
Localisation : Nantes
Contact :

Re: Recherche d'un PARSER JSON performant

Message 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....
Christian Massé (Volubis.fr)

Yoanne
Messages : 2
Enregistré le : lun. 10 août 2020, 15:05:11

Re: Recherche d'un PARSER JSON performant

Message 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

Répondre