Jump to content
  • 0

Parser un json


Olivier.b
 Share

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"

Link to comment
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.

Link to comment
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

 

Link to comment
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 ; "" ) )

:)

Link to comment
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 []

 

Link to comment
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"  }]

 

Link to comment
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… ^_^

Link to comment
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...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...