Jump to content
  • 0
Olivier.b

Parser un json

Question

Bonjour à tous,

 

Me voilà rentré de la conf et je me lance dans les API. C'est vraiment sympa et j'ai pu avancer avec trello.

Je butte néanmoins pour parser "text" : Il y en a deux, comment faire pour: 

1- savoir qu'il y en a 2
2- l'extraire. 

... on l'a pas eu le temps de le voir en cours...

Merci !

 

[
    {
        "id": "xxxx",
        "idMemberCreator": "xxxxxx",
        "data": {
            "list": {
                "name": "Demandes",
                "id": "xxxx"
            },
            "board": {
                "shortLink": "gLwwceJ2",
                "name": "Demandes entrantes",
                "id": "xxxx"
            },
            "card": {
                "shortLink": "5brtPb8G",
                "idShort": 1914,
                "name": "message de moi",
                "id": "xxxx"
            },
            "text": "il est tard"
        },
        "type": "commentCard",
        "date": "2017-10-26T20:00:10.223Z",
        "memberCreator": {
            "id": "xxxx",
            "avatarHash": "xxxx",
            "fullName": "Olivier B",
            "initials": "OBE",
            "username": "olivierb"
        }
    },
    {
        "id": "xxxx",
        "idMemberCreator": "xxxx",
        "data": {
            "list": {
                "name": "Demandes",
                "id": "xxxx"
            },
            "board": {
                "shortLink": "gLwwceJ2",
                "name": "Demandes entrantes",
                "id": "xxxx"
            },
            "card": {
                "shortLink": "5brtPb8G",
                "idShort": 1914,
                "name": "message de moi",
                "id": "xxxx"
            },
            "text": "écrire un message"
        },
        "type": "commentCard",
        "date": "2017-10-26T19:58:29.533Z",
        "memberCreator": {
            "id": "xxxx",
            "avatarHash": "xxxxx",
            "fullName": "Olivier B",
            "initials": "OBE",
            "username": "olivierb"

Share this post


Link to post
Share on other sites

7 answers to this question

Recommended Posts

  • 0

Bonsoir,

Pour connaître le nombre de clef text, nous pouvons utiliser la formule Occurrences ( json ; Citation ( "text" ) & ":" )

Maintenant pour l'extraire, il me faudrait le json complet, car celui-ci est incomplet.

Share this post


Link to post
Share on other sites
  • 0
[	{		"data" : 		{			"board" : 			{				"id" : "xxx",				"name" : "Demandes entrantes",				"shortLink" : "xxx"			},			"card" : 			{				"id" : "xxx",				"idShort" : 1914,				"name" : "message de xxx",				"shortLink" : "xxx"			},			"list" : 			{				"id" : "xxx",				"name" : "Demandes"			},			"text" : "il est tard"		},		"date" : "2017-10-26T20:00:10.223Z",		"id" : "59f23ecad30c91a90c153fee",		"idMemberCreator" : "xxx",		"memberCreator" : 		{			"avatarHash" : "xxx",			"fullName" : "Olivier b",			"id" : "xxxx",			"initials" : "OBE",			"username" : "olivierb"		},		"type" : "commentCard"	},	{		"data" : 		{			"board" : 			{				"id" : "xxxx",				"name" : "Demandes entrantes",				"shortLink" : "xxx"			},			"card" : 			{				"id" : "xxxx",				"idShort" : 1914,				"name" : "message de b",				"shortLink" : "xx"			},			"list" : 			{				"id" : "xxxx",				"name" : "Demandes"			},			"text" : "écrire un message"		},		"date" : "2017-10-26T19:58:29.533Z",		"id" : "59f23e65c147e1ddf4eba72c",		"idMemberCreator" : "xxx",		"memberCreator" : 		{			"avatarHash" : "xxxx",			"fullName" : "Olivier b",			"id" : "xxxx",			"initials" : "OBE",			"username" : "olivierb"		},		"type" : "commentCard"	}]

C'est le résultat du JSONFormatElement

il y a 23 minutes, David Julot a dit :

Bonsoir,

Pour connaître le nombre de clef text, nous pouvons utiliser la formule Occurrences ( json ; Citation ( "text" ) & ":" )

Maintenant pour l'extraire, il me faudrait le json complet, car celui-ci est incomplet.

Le résultat = 0

 

Share this post


Link to post
Share on other sites
  • 0

Salut, 

Pour connaitre le nombre de neuds d'un objet Json, ou d'éléments d'un tableau, il faut utiliser la fonction "JSONListKeys()", de cette manière :

DecompteValeurs (    JSONListKeys ( $JSON ; "" ) )

:)

Share this post


Link to post
Share on other sites
  • 0

Alors, pour récupérer le 1er textJSONGetElement ( json ; ".[0].data.text" ) pour le 2e textJSONGetElement ( json ; ".[1].data.text" )

On peut, pour récupérer toutes les valeurs text utiliser un script de ce type :

Définir variable [$json; Valeur :json::json]Définir variable [$tab; Valeur :JSONListKeys ( $json ; "." )]Définir variable [$nb; Valeur :DecompteValeurs ( $tab )]#Boucle	Fin de boucle si [Definir ( $i = $i + 1 ; $i > $nb )]	Définir variable [$T; Valeur :Cas ( Not EstVide ( $T ) ; $T & ¶ ) & JSONGetElement ( $json ; ".[" & ObtenirValeur ( $tab ; $i ) & "].data.text" )]Fin de boucle#Fin de script []

 

Share this post


Link to post
Share on other sites
  • 0

Bonsoir,

Je pense pas que la fonction Occurrences soit appropriée, l'ensemble clé/valeurs de chaque objet, n'est pas forcément distribué de manière identique; ne peux contenir  les mêmes éléments.

[  {    "id": "1",    "type": "commentCard",    "date": "2017-10-26T20:00:10.223Z"  },  {    "id": "5",    "idMemberCreator": "zzz",    "date": "2014-09-21T05:00:00.123Z"  }]

 

Share this post


Link to post
Share on other sites
  • 0
à l’instant, Clem a dit :

Bonsoir,

Je pense pas que la fonction Occurrences soit appropriée, l'ensemble clé/valeurs de chaque objet, n'est pas forcément  distribués de manière identique …

[  {    "id": "1",    "type": "commentCard",    "date": "2017-10-26T20:00:10.223Z"  },  {    "id": "5",    "idMemberCreator": "zzz",    "date": "2014-09-21T05:00:00.123Z"  }]

 

Je suis tout à fait d'accord, mais vu le premier extrait fourni, c'était une première approche… ^_^

Share this post


Link to post
Share on other sites
  • 0

merci !. c'est le [0] sans texte accolé qui m'a mis en erreur. c'est sioux.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...