Je pense que vous êtes un peu confus. Dans la question, vous demandez comment transformer un document JSON en classes. Dans les commentaires, vous dites que vous voulez une version JSON de l'outil XML RXSD, qui transforme cependant les schémas schémas en classes Ruby.
Transformer les documents JSON en classes n'a pas vraiment de sens. Si vous comparez le monde du balisage de document à la programmation, les documents correspondent aux objets et les schémas correspondent aux classes (bien, les types, en fait, mais puisque nous parlons de Ruby, n'ouvrons pas cette boîte de Pandore). Il est donc logique de générer des objets Ruby à partir de documents JSON et il est logique de générer des classes Ruby à partir de schémas JSON, mais cela n'a pas de sens de générer des classes Ruby à partir de documents JSON. La mauvaise nouvelle est bien entendu que pour pouvoir générer automatiquement des classes Ruby à partir du schéma JSON, il faut que le schéma JSON soit dans un format pouvant être traité automatiquement (lisible par machine IOW).
Malheureusement, il n'y a pas une telle chose comme un schéma JSON, et donc les schémas JSON ont tendance à généralement pas lisibles par une machine, mais sont juste un texte de présentation du texte anglais orienté vers l'homme sur la page de documentation de l'API du fournisseur de services Web. Si tu es chanceux. Plus souvent qu'autrement, il n'y a aucune documentation à propos du schéma JSON. Donc, comme il n'y a pas de manière standardisée de décrire les schémas JSON, il ne peut pas y avoir d'outil standardisé pour le traitement des schémas JSON.
Contrairement à XML, où il existe un nombre limité de schémas standardisés (DTD, XSD, RelaxNG).
Notez que ce que je l'ai écrit ci-dessus ne sont pas tout à fait vrai: il sont spécifications pour les schémas de JSON (par exemple JSON-Schema) et il y a des implémentations Ruby de ceux (par exemple Ruby/JSONSchema, validation uniquement, ne génère pas de cours), mais personne ne les utilise, alors ils pourraient tout aussi bien ne pas exister.
Plus de détails. Qu'est-ce que tu veux? Voulez-vous que JSON '{foo:" bar "}' devienne un objet Ruby avec 'obj.foo # =>" bar "'? – jtbandes
comme ceci http://github.com/movitto/RXSD mais pour json –