14-11-2011, 12:17 PM
Bonjour
Je vais m’essayer à JSON pour des échanges Ajax(ajaJ ?...) vers PHP.
Se pose la question de la validation du message.
Avant de partir vers un développement spécifique (ou de post ponner le point à dans quelques mois) j’aurais voulu savoir si vous pouvez m’indiquer des librairies, code spécifique (propre et pas très lourd), etc… qui permettent de contrôler un minimum un fichier json,
Ce que j’entends par « minimum » :
- Pas besoin de contrôler un « objet » seul l’interprétation tableau me suffit.
- A la racine ou plus profondément, un « tableau » peut être soit totalement associatif, soit pas du tout (pas de tableau mixte avec champ clef ou pas)
- Si un tableau doit être associatif je vérifie que toutes les clefs sont présentes
- Si un tableau doit être associatif, je vérifie que toutes les valeurs du tableau sont du bon type, le type dépendant de la clef ( « foo » => « bar » , « bar » doit être une chaine parce que foo attend une chaine alors que « foo2 » => « bar2 » est une erreur car « foo2 » doit être un entier)
- Si un tableau ne doit pas être associatif, je vérifie que toutes les valeurs sont du bon type (dans ce cas un seul type pour toutes les valeurs du tableau)
- Les types acceptés sont : entier, chaine, réel, tableau associatif, tableau pas associatif (et, dans le cas d’un tableau, on descend dans la validation par récursivité)
Je crois que c’est à peu près tout
Si je ne trouve rien (j’ai pas vu grand-chose sur google, en français que dalle, en anglais, je suis peut être passé à côté) j’imagine de créer un « schema » qui représenterait ce que j’attends
Par exemple, je créerais un « template de réponse » via tableau associatif (indice => type) que je parcourrais par récursivité
L’indice étant une clef du tableau que devrait me fournit json
Si ce que j’attends est un tableau associatif, alors le « type » attendu est un fichier associatif avec autant de clefs qu’attendu (et je continue sur le même principe plus profondément)
Si ce que j’attends est un tableau non associatif, alors le « type » attendu est un tableau avec une seule clef (genre le nombre 0) et la valeur étant elle-même le type que j’attends (et éventuellement un tableau, pour continuer.
Sinon, le type serait un nombre pour clarifier le type de données attendu, genre 1 = entier, 2 = réel
Merci de votre aide/ avis
Je ne vois pas de grosses difficultés à développer moi même l'affaire, ça pourrait même être amusant (enfin juste un peu) mais je préférerais éviter si un script simple et propre permet déjà de faire ce que je veux
Je vais m’essayer à JSON pour des échanges Ajax(ajaJ ?...) vers PHP.
Se pose la question de la validation du message.
Avant de partir vers un développement spécifique (ou de post ponner le point à dans quelques mois) j’aurais voulu savoir si vous pouvez m’indiquer des librairies, code spécifique (propre et pas très lourd), etc… qui permettent de contrôler un minimum un fichier json,
Ce que j’entends par « minimum » :
- Pas besoin de contrôler un « objet » seul l’interprétation tableau me suffit.
- A la racine ou plus profondément, un « tableau » peut être soit totalement associatif, soit pas du tout (pas de tableau mixte avec champ clef ou pas)
- Si un tableau doit être associatif je vérifie que toutes les clefs sont présentes
- Si un tableau doit être associatif, je vérifie que toutes les valeurs du tableau sont du bon type, le type dépendant de la clef ( « foo » => « bar » , « bar » doit être une chaine parce que foo attend une chaine alors que « foo2 » => « bar2 » est une erreur car « foo2 » doit être un entier)
- Si un tableau ne doit pas être associatif, je vérifie que toutes les valeurs sont du bon type (dans ce cas un seul type pour toutes les valeurs du tableau)
- Les types acceptés sont : entier, chaine, réel, tableau associatif, tableau pas associatif (et, dans le cas d’un tableau, on descend dans la validation par récursivité)
Je crois que c’est à peu près tout
Si je ne trouve rien (j’ai pas vu grand-chose sur google, en français que dalle, en anglais, je suis peut être passé à côté) j’imagine de créer un « schema » qui représenterait ce que j’attends
Par exemple, je créerais un « template de réponse » via tableau associatif (indice => type) que je parcourrais par récursivité
L’indice étant une clef du tableau que devrait me fournit json
Si ce que j’attends est un tableau associatif, alors le « type » attendu est un fichier associatif avec autant de clefs qu’attendu (et je continue sur le même principe plus profondément)
Si ce que j’attends est un tableau non associatif, alors le « type » attendu est un tableau avec une seule clef (genre le nombre 0) et la valeur étant elle-même le type que j’attends (et éventuellement un tableau, pour continuer.
Sinon, le type serait un nombre pour clarifier le type de données attendu, genre 1 = entier, 2 = réel
Merci de votre aide/ avis
Je ne vois pas de grosses difficultés à développer moi même l'affaire, ça pourrait même être amusant (enfin juste un peu) mais je préférerais éviter si un script simple et propre permet déjà de faire ce que je veux