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

AngularJS Discussion :

Lecture JSON


Sujet :

AngularJS

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 34
    Points : 24
    Points
    24
    Par défaut Lecture JSON
    Bonjour,


    j'ai un soucis en voulant afficher mes infos.

    A la base, j'utilise un fichier SiteMap.xml que je parse en JSON, j'obtiens un json (presque) valide, ci dessous :

    http://pastebin.com/C8n9zfT9

    En faisant un $scope.myData = response.data dans la page ci-dessous, j'obtiens un json valide.


    Et voici la page html avec mon script :

    http://pastebin.com/ryTKvN33


    J'aurai aimé pouvoir faire dans mon ng-repeat="data in myData", un {{data.__text}} pour récupèrer tous mes champs associé à cette clé.

    Cependant, je n'arrive pas à m'en sortir avec le "$scope.myData = response.data", je pense que mon erreur vient de là mais je n'y arrive pas en tâtonnant :/


    Si quelqu'un a une idée...


    Cordialement,

    Bonop

  2. #2
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 419
    Points : 19 639
    Points
    19 639
    Par défaut
    Le firewall du client bloque pastebin. Du coup je comprends rien à ta demande désolé.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 34
    Points : 24
    Points
    24
    Par défaut
    En gros, mon Json commence comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    {
        "method": "GET",
        "transformRequest": [null],
        "url": "Sitemap3.xml",
        "headers": {
            "Accept": "application/json, text/plain, */*"
        }
    } {
        "Envelope": {
            "Body": {
                "getEmployeeSiteIResponse": {
                    "return": {
                        "item": {
                            "item": [{
                                "_xsi:type": "xsd:string"
                            }, {
                                "_xsi:type": "xsd:string",
                                "__text": "youpi"
                            }, {
                                "_xsi:type": "xsd:string",
                                "__text": "youpi2"
                            }, {
                                "_xsi:type": "xsd:string",
                                "__text": "youpi3"
                            }, (........)
    J'aimerai pouvoir extraire le champ __text de chaque élément avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $scope.myData = response.data et un ng-repeat="data in myData" & {{Data.__text}}
    En sachant que le response.data vire la partie invalide du JSON (le début et la fin qui n'est pas ici).

  4. #4
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 419
    Points : 19 639
    Points
    19 639
    Par défaut
    Je pense pas que tu puisses avoir ce caractère ":" dans le nom d'une variable json.

    Pour moi ton json n'est pas exploitable, il est invalide.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Salut, A première vue, sauf erreur, ton JSON se décompose en 2 objets principaux, il manque donc soit 2 accolades, une au début et une à la fin, ou alors faudrait supprimer le premier objet {
    "method": "GET"... bla bla } et ne conserver que l'objet qui commence par "Enveloppe", pour pouvoir avoir une chance d'accéder au reste, en particulier au tableau item.

    Sauf erreur, ensuite, il faudrait taper une instruction du genre ng-repeat="data in myData.Envelope.Body.getEmployeeSiteIResponse.return.item.item", un {{data.__text}} pour afficher tes données dans ta vue HTML.
    Et, en effet, le caractère : risque de gêner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    {
    	"method": "GET",
    	"transformRequest": [null],
    	"url": "Sitemap3.xml",
    	"headers": {
    		"Accept": "application/json, text/plain, */*"
    	}
    } {
    	"Envelope": {
    		"Body": {
    			"getEmployeeSiteIResponse": {
    				"return": {
    					"item": {
    						"item": [{
    							"_xsi:type": "xsd:string"
    						}, {
    							"_xsi:type": "xsd:string",
    							"__text": "youpi"
    						}, {
    							"_xsi:type": "xsd:string",
    							"__text": "youpi2"
    						}, {
    							"_xsi:type": "xsd:string",
    							"__text": "youpi3"
    						}, {
    							"_xsi:type": "xsd:string",
    							"__text": "youpi4"
    						}, {
    							"_xsi:type": "xsd:string",
    							"__text": "youpi5"
    						}, {
    							"_xsi:type": "xsd:string",
    							"__text": "youpi6"
    						}, {
    							"_xsi:type": "xsd:string",
    							"__text": "youpi7"
    						}, {
    							"_xsi:type": "xsd:string",
    							"__text": "youpi8"
    						}, {
    							"_xsi:type": "xsd:string",
    							"__text": "youpi9"
    						}, {
    							"_xsi:type": "xsd:string",
    							"__text": "youpi10"
    						}, {
    							"_xsi:type": "xsd:string",
    							"__text": "youpi11"
    						}, {
    							"_xsi:type": "xsd:string",
    							"__text": "youpi12"
    						}],
    						"_SOAP-ENC:arrayType": "xsd:string[634]",
    						"_xsi:type": "SOAP-ENC:Array"
    					},
    					"_SOAP-ENC:arrayType": "SOAP-ENC:Array[1]",
    					"_xsi:type": "SOAP-ENC:Array"
    				},
    				"__prefix": "ns1"
    			},
    			"__prefix": "SOAP-ENV"
    		},
    		"_xmlns:SOAP-ENV": "http://schemas.xmlsoap.org/soap/envelope/",
    		"_xmlns:ns1": "http://localhost/ws_ldap/InputServer.php",
    		"_xmlns:SOAP-ENC": "http://schemas.xmlsoap.org/soap/encoding/",
    		"_xmlns:xsd": "http://www.w3.org/2001/XMLSchema",
    		"_xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
    		"_SOAP-ENV:encodingStyle": "http://schemas.xmlsoap.org/soap/encoding/",
    		"__prefix": "SOAP-ENV"
    	}
    }
    200
    OK

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 34
    Points : 24
    Points
    24
    Par défaut
    Merci de vos réponses.

    @devwebsympa, tu portes bien ton nom, cela fonctionne et pas d'erreur lié au ':'.

    <tr ng-repeat="data in myData.Envelope.Body.getEmployeeSiteIResponse.return.item.item">
    La citation au dessus permet bien d'atteindre l'item désiré juste en dessous !
    __text


    Encore merci,

    Bonne journée !

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

Discussions similaires

  1. problème lecture json
    Par errog2 dans le forum Ext JS / Sencha
    Réponses: 1
    Dernier message: 16/05/2010, 00h33
  2. [TFileStream] Problème de lecture de string
    Par Pedro dans le forum Langage
    Réponses: 6
    Dernier message: 28/06/2004, 14h06
  3. problème de lecture base de registre
    Par pafounet3 dans le forum MFC
    Réponses: 10
    Dernier message: 31/12/2003, 15h06
  4. [fread] Problème de lecture de buffer
    Par karl3i dans le forum C
    Réponses: 2
    Dernier message: 25/09/2003, 10h21
  5. Réponses: 4
    Dernier message: 23/07/2003, 14h07

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