PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 16/06/2016 13:50:59

YoussefDu16
Membre

Exporter format json

Bonjour à tous,

Je souhaiterai exporter une requête qui est transformée en format JSON mais j'ai un problème à ce niveau, je souhaite obtenir un résultat tel que :

{
  "text": "autumn",
  "pronunciation": "autumn",
  "definitions": [
    {
        "part_of_speech": "noun",
        "body": "skilder wearifully uninfolded..."
    },
    {
        "part_of_speech": "verb",
        "body": "intrafissural fernbird kittly..."
    },
    {
        "part_of_speech": "adverb",
        "body": "infrugal lansquenet impolarizable..."
    }
  ]
}

Mais j'obtiens plutôt ça :
{
  "text": "autumn",
  "pronunciation": "autumn",
  "definitions": [
    {
        "part_of_speech": "noun",
        "body": "skilder wearifully uninfolded..."
    },
]
{
  "text": "autumn",
  "pronunciation": "autumn",
  "definitions": [
    {
       "part_of_speech": "verb",
        "body": "intrafissural fernbird kittly..."
    },
]
}

Comme vous le voyez définitions est séparé dans différentes lignes. voici mon code je ne trouve pas mon erreur :


SELECT array_to_json(array_agg(row_to_json(t)  )   )

from (

SELECT lgn_nom AS LigneName, P.id AS PARCOURSID, C.id as courseID, origine_destination,

SELECT array_to_json(array_agg(row_to_json(d)  )   )
FROM (

SELECT ECP.pnt_nom AS StopName,ECP.date AS StopTime, ECP.lat AS Latitude, ECP.lon AS Longitude,nb_in AS PassagersIn, nb_out AS PassagersOut
FROM evt_comptage ECP
WHERE ECP.id_evt_arret = EA.id
) d
) AS evt_comptage

FROM   evt_arret EA, passage_horaire PH, parcours P , ligne L , course C

WHERE PH.id = EA.passage_horaire AND PH.course = C.id AND PH.parcours = P.id AND L.id = P.ligne
) t


Merci d'avance pour votre patience et votre réponse.

Hors ligne

#2 16/06/2016 14:32:19

rjuju
Administrateur

Re : Exporter format json

Bonjour,

Que renvoie votre requête et quel est votre problème exactement ?

Hors ligne

#3 16/06/2016 14:53:25

YoussefDu16
Membre

Re : Exporter format json

Voila ce que j'obtiens avec ma requête :


[
{             "lignename" : "BERNARD",
        "parcoursid" : 19761,
        "courseid" : 20723,
        "origine_destination" : "ALBERT",
        "evt_comptage" : [{
                "stopname" : "HENRY",
                "stoptime" : "2016-01-18T21:15:29",
                "latitude" : 48.618111,
                "longitude" : -1.510928,
                "passagersin" : 0,
                "passagersout" : 0
            }
        ]
    }, {
        "lignename" : "BERNARD",
        "parcoursid" : 19761,
        "courseid" : 20723,
        "origine_destination" : "ALBERTL",
        "evt_comptage" : [{
                "stopname" : "HENRY",
                "stoptime" : "2016-01-18T21:29:03",
                "latitude" : 48.631719,
                "longitude" : -1.508361,
                "passagersin" : 13,
                "passagersout" : 1
            }
        ]
   }
]


Or moi je voudrai plutôt :

[
{             "lignename" : "BERNARD",
        "parcoursid" : 19761,
        "courseid" : 20723,
        "origine_destination" : "ALBERT",
        "evt_comptage" : [{
                "stopname" : "HENRY",
                "stoptime" : "2016-01-18T21:15:29",
                "latitude" : 48.618111,
                "longitude" : -1.510928,
                "passagersin" : 0,
                "passagersout" : 0
            },{
                                "stopname" : "HENRY",
                "stoptime" : "2016-01-18T21:29:03",
                "latitude" : 48.631719,
                "longitude" : -1.508361,
                "passagersin" : 13,
                "passagersout" : 1
                          }
                        ]
   }
]

Hors ligne

#4 16/06/2016 22:29:06

rjuju
Administrateur

Re : Exporter format json

Je ne vois pas comment vous aider sans avoir la structure des tables et des données. Je suppose qu'il vous manque au moins un GROUP BY à la fin de la requête.

Hors ligne

Pied de page des forums