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

Apex Oracle Discussion :

Apex_JSON et champs à valeurs nulles


Sujet :

Apex Oracle

  1. #1
    Membre régulier Avatar de Michel38
    Homme Profil pro
    Inscrit en
    June 2005
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : June 2005
    Messages : 207
    Points : 105
    Points
    105
    Par défaut Apex_JSON et champs à valeurs nulles
    Bonjour à tous,

    Pour des web services que je dois mettre en place, je crée une requête SQL que je place dans un curseur.

    Ensuite, j'utilise le package APEX_JSON :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        APEX_JSON.open_object;
        APEX_JSON.write('items', c_cur);
        APEX_JSON.close_object;
    c_cur étant bien entendu mon curseur.
    Tout fonctionne très bien, et je récupère bien tout convenablement dans mon Web Service.

    Mon problème, puisqu'il y en a quand même un, c'est que tous les champs pour lesquels les valeurs sont nulles n'apparaissent pas en sortie.

    C'est à dire pour un exemple, au lieu d'avoir ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    "items": [
         {
              "num_contrat": 18,
              "date_debut": "2023-01-01",
              "date_fin": "null"
         }
    ]
    J'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    "items": [
         {
              "num_contrat": 18,
              "date_debut": "2023-01-01"
         }
    ]
    Ca peut être gênant.
    Je suis en Application Express 18.1.0.00.45

    Quelqu'un aurait une idée ?

    Michel

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    September 2006
    Messages
    2 907
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : September 2006
    Messages : 2 907
    Points : 4 297
    Points
    4 297
    Par défaut
    apex_json.write() a 21 signatures, dont pour certaines le 3ème paramètre est un booléen:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    p_write_null  IN BOOLEAN DEFAULT FALSE
    https://docs.oracle.com/en/database/...3-F56CD27B6BFF

  3. #3
    Membre régulier Avatar de Michel38
    Homme Profil pro
    Inscrit en
    June 2005
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : June 2005
    Messages : 207
    Points : 105
    Points
    105
    Par défaut
    Merci pour ta réponse

    Oui, effectivement. J'avais vu ça.
    Mais ton lien, implique la version 22 de APEX.
    Moi j'utilise la version 18, et ce 3ème champ n'existe pas

    Michel

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/09/2009, 15h43
  2. [WD-2002] Champ à valeur variable
    Par Flavien23 dans le forum Word
    Réponses: 1
    Dernier message: 07/04/2009, 13h27
  3. SQL : Nouveau Champ - valeur par défaut
    Par chim33 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 22/06/2006, 15h41
  4. Champs - Valeur par défaut
    Par _developpeur_ dans le forum Access
    Réponses: 14
    Dernier message: 13/10/2005, 11h20
  5. [CR9] Bug avec les champs à valeur vide ?
    Par Djob dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 15/07/2003, 22h21

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