|
Parcours d'un Json "compacté" |
Started by GP, May, 29 2017 6:35 PM - 7 replies |
| |
| | | |
|
| |
Registered member 8 messages Popularité : +1 (1 vote) |
|
Posted on May, 29 2017 - 6:35 PM |
Bonjour,
J'ai un souci et je ne sais plus trop où chercher. Je récupère via l'API de Neo4J (base de graphes) un json répondant à une requite sur la base. Jusque là tout va bien, je récupère un json compacté, et après test sur un éditeur json en ligne j'arrive à le décompater (le render lisible avec retour chariot) sans erreur. Le souci est sous webdev. J'essaie d'utiliser la function jsonversvariant pour pouvoir l'exploier + facilement (c'est ce qu'il faut faire de ce que j'ai compris) mais le retour est 0. Est-ce-parceque le fichier est au format compacté ? (je ne pense pas pouvoir y faire grand chose) ou ais-je oublié quelque chose ? D'avance merci de votre aide.
Mon code avec en commentaire le résultat quand j'affiche quelque chose : NeoRequete est un restRequête NeoReponse est un restRéponse v est un Variant
sObjet est une chaîne = [ { "query" : "match (n:Application)-[r]->(m:BusinessLine) return n,r,m limit 15", "params" : { } } ]//ici c'est un petit json qui contient la requête que j'envoie au serveur Neo4J,
NeoRequete..URL="http://monserveur:7474/db/data/cypher" NeoRequete..ContentType=typeMimeJSON NeoRequete..Méthode=httpPost NeoRequete..Utilisateur="login" NeoRequete..MotDePasse="motdepasse" NeoRequete..Contenu=sObjet NeoReponse=RESTEnvoie(NeoRequete) // ici je reçois le résultat de ma requête
SI ErreurDétectée ALORS Erreur(ErreurInfo(errComplet)) SINON Info(NeoReponse..Contenu)//Là tout va bien, le json est affiché dans la fenêtre d'info en mode "compact" Info(NeoReponse.CodeEtat)//code retour http 200 v=JSONVersVariant(NeoReponse..Contenu) Info(v) //affiche 0 POUR TOUT x DE v..Membre Trace("Le membre " + x..Nom + " a la valeur " + x..Valeur) //tombe en erreur en disant que le tableau est vide (forcément...) FIN FIN
Le json que je reçois est "compact" (minimized), voici le début (il est un peu gros pourmettre ici mais si nécessaire je peux le faire) : { "columns" : [ "n", "r", "m" ], "data" : [ [ { "metadata" : { "id" : 4927, "labels" : [ "Application" ] }, "data" : { "name" : "NetIQ" }, "paged_traverse" : "http://monserveur:7474/db/data/node/4927/paged/traverse/{returnType}{…}", "outgoing_relationships" : "http://monserveur:7474/db/data/node/4927/relationships/out", "outgoing_typed_relationships" : "http://monserveur:7474/db/data/node/4927/relationships/out/{-list|&|types}", "labels" : "http://monserveur:7474/db/data/node/4927/labels", "create_relationship" : "http://monserveur:7474/db/data/node/4927/relationships", "traverse" : "http://monserveur:7474/db/data/node/4927/traverse/{returnType}", "extensions" : { }, "all_relationships" : "http://monserveur:7474/db/data/node/4927/relationships/all", "all_typed_relationships" : "http://monserveur:7474/db/data/node/4927/relationships/all/{-list|&|types}", "property" : "http://monserveur:7474/db/data/node/4927/properties/{key}", "self" : "http://monserveur:7474/db/data/node/4927", "incoming_relationships" : "http://monserveur:7474/db/data/node/4927/relationships/in", "properties" : "http://monserveur:7474/db/data/node/4927/properties", "incoming_typed_relationships" : "http://monserveur:7474/db/data/node/4927/relationships/in/{-list|&|types}" }, { "extensions" : { }, "metadata" : { "id" : 17221, "type" : "IN" }, "data" : { }, "property" : "http://monserveur:7474/db/data/relationship/17221/properties/{key}", "start" : "http://monserveur:7474/db/data/node/4927", "self" : "http://monserveur:7474/db/data/relationship/17221", "end" : "http://monserveur:7474/db/data/node/18680", "type" : "IN", "properties" : "http://monserveur:7474/db/data/relationship/17221/properties" }, { "metadata" : { "id" : 18680, "labels" : [ "BusinessLine" ] }, "data" : { ... |
| |
| |
| | | |
|
| | |
| |
Registered member 2,574 messages Popularité : +222 (260 votes) |
|
Posted on May, 29 2017 - 7:10 PM |
Bonsoir,
Peut-on avoir la totalité di json pour voir s'il on arrive à le lire ?
-- Cordialement,
Philippe SAINT-BERTIN Géode Informatique |
| |
| |
| | | |
|
| | |
| |
Registered member 8 messages Popularité : +1 (1 vote) |
|
Posted on May, 30 2017 - 1:09 PM |
Bonjour,
Merci. Finalement nous avons trouvé le souci, c'était dû à un manque de comprehension du type variant (la doc est basée sur des exemples trop simple je trouve) et de la structure du json renvoyé. Donc aucun problème pour connecter webdev à Neo4j Neo4j génère un json avec plusieurs tableaux sur plusieurs niveaux, il faut bien le comprendre pour pouvoir le parcourir.
pour référence pour ceux qui pourraient butter avec neo4j, voici un bout de code qui marche pour nous :
NeoRequete est un restRequête NeoReponse est un restRéponse
sObjet est une chaîne = [ { "query" : "match (n:Application)-[r]->(m:BusinessLine) RETURN n,r,m limit 15", //à remplacer par votre requite neo4j "params" : { } } ]
NeoRequete..URL="http: NeoRequete..ContentType=typeMimeJSON NeoRequete..Méthode=httpPost NeoRequete..Utilisateur="login" NeoRequete..MotDePasse="motdepasse" NeoRequete..Contenu=sObjet NeoReponse=RESTEnvoie(NeoRequete) vjs est un Variant = JSONVersVariant(NeoReponse..Contenu)
Info(vjs.data[2][1].data.name)
POUR TOUT x de vjs.data[2][1] Trace("Le membre " + x..Nom + " a la valeur " + x..Valeur) FIN |
| |
| |
| | | |
|
| | |
| |
Registered member 8 messages Popularité : +1 (1 vote) |
|
Posted on May, 30 2017 - 2:14 PM |
contrairement au commentaire que j'ai oublié d'enlever, le trace à la fin renvoie bien les elements. |
| |
| |
| | | |
|
| | |
| |
Posted on June, 23 2017 - 11:12 AM |
Bonjour GP,
Moi je voudrais parcourir un tableau qui est continu dans un json, es ce que vous pouvez me donner une solution svp |
| |
| |
| | | |
|
| | |
| |
Registered member 8 messages Popularité : +1 (1 vote) |
|
Posted on June, 23 2017 - 2:43 PM |
Bonjour Cheikhou, Pouvez vous copier un extrait du json ? Merci. |
| |
| |
| | | |
|
| | |
| |
Posted on September, 27 2017 - 8:24 PM |
Bonjour,
Avez-vous essayé de vous connecter à Couchbase server (et Couchbase mobile) ?
Cette base présente des caractéristiques intéressantes.
Cordialement
PhilDet |
| |
| |
| | | |
|
| | |
| |
Posted on October, 22 2023 - 8:00 PM |
Bonjour Comment est-ce que vous avez finalement résolu ce problème dans un contexte NEO4J? |
| |
| |
| | | |
|
| | | | |
| | |
|