IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

[WB26] JSON - Indiquer .00 si le montant est un entier


Sujet :

WinDev

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 122
    Points : 136
    Points
    136
    Par défaut [WB26] JSON - Indiquer .00 si le montant est un entier
    Bonjour,

    Je dois produire un JSON avec un montant (commande.montant) qui doit indiquer .00 si le montant est un entier. Ce montant ne doit pas, non plus, être entourer par les "".

    JEXP est un JSON, utile, description = "EXPCS"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    JEXP.impId = Null
    JEXP.numero = "1234567890"
    JEXP.lignesImport[1].numLigne = 1
    JEXP.lignesImport[1].commande.dateCommande = "10/10/2021"
    JEXP.lignesImport[1].commande.regimeTVA = "HT"
    JEXP.lignesImport[1].commande.montant = 435.00
     
    Trace(JSONVersChaîne(JEXP))
    Merci, par avance, pour vos conseils.

  2. #2
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 805
    Points : 5 253
    Points
    5 253
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    où se situe ton problème ?
    Quoiqu'il en soit, une sérialisation serait nettement plus facile pour remplir ton JSON
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 122
    Points : 136
    Points
    136
    Par défaut
    Bonjour Voroltinquo,

    Je m'attendais à trouver :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    "commande": {
                    "dateCommande": "10/10/2021",
                    "regimeTVA": "HT",
                    "montant": 435.00
                }
    Mais je me retrouve avec le montant sans les centimes (.00) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    "commande": {
                    "dateCommande": "10/10/2021",
                    "regimeTVA": "HT",
                    "montant": 435
                }

  4. #4
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 805
    Points : 5 253
    Points
    5 253
    Billets dans le blog
    1
    Par défaut
    Là encore, c'est un fonctionnement normal. Un buffer JSON n'est pas là pour être exploité directement, il sert uniquement à récupérer les données en mémoire afin de les transférer à l'ordi distant, (ce transfert peut aussi se faire via un formatage binaire, impossible à exploiter directement.) Lorsque l'ordi distant va "traduire" ce buffer via une désérialisation, afin de remettre les données en mémoire il sait que la partie qui correspond à "montant" dans ton cas possède 2 chiffre après la virgule.
    Après, c'est une question d'affichage.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  5. #5
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 327
    Points : 3 840
    Points
    3 840
    Par défaut
    Bonjour,

    Pour tester, si tu mets un montant avec des centimes, 435.15 par exemple, tu as quoi dans le JSON ?

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 122
    Points : 136
    Points
    136
    Par défaut
    @Voroltinquo : Là encore, peu importe que ce soit la norme ou non. Malheureusement c'est un format imposé dont même si ça n'est pas conforme à la norme JSON je suis obligé de m'y plier. Si ça ne dépendait que de moi, je serais ravi de respecter à la lettre la norme.
    @Lo² : Si je met 435.15 je retrouve bien la même valeur dans le JSON.

  7. #7
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Bonjour,

    Tant qu'à faire, pourquoi ne pas monter ton json "à la main", c'est-à-dire sans passer par une variable JSON ?
    Les premiers fichiers JSON que j'ai créés / utilisés dans Windev, je suis passé par une belle chaîne de caractères.

    En utilisant cette méthode, tu pourras utiliser Numériqueverschaîne pour formater ton montant.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 122
    Points : 136
    Points
    136
    Par défaut
    Citation Envoyé par frenchsting Voir le message
    Tant qu'à faire, pourquoi ne pas monter ton json "à la main", c'est-à-dire sans passer par une variable JSON ?
    Bonjour frenchsting,

    C'est pas faux. Ce JSON qui en est de moins en moins un à cause des contraintes de format non respectées est une vraie galère..

    Je suis passé en version 27 et j'ai contourné le problème de cette façon. Je passe le montant sous forme de chaîne et j'utilise cette regex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sNewJSON = RegexRemplace(JEXP, "(, ""montant"":)(("")([0-9]+\.[0-9]+)(""))" , "$1$4" )

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/06/2019, 10h33
  2. Réponses: 5
    Dernier message: 21/03/2018, 10h08
  3. Réponses: 5
    Dernier message: 25/01/2010, 11h35
  4. variable qui m'indique que l'impression s'est bien exécutée
    Par lionelenza dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/06/2008, 17h34
  5. [GD] imagedestroy qui m'indique que son paramètre n'est pas correct
    Par karaemrah dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 23/08/2007, 17h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo