2010-07-27 2 views
2

Je travaille sur une application web qui récupère les données JSON du serveur (Ruby/Rails) dans le client en utilisant jQuery/ajax et les restitue au navigateur en utilisant jQuery pour remplir le DOM. Pour simplifier l'accès à mes données côté client, je voudrais utiliser un mappeur relationnel objet similaire à ActiveRecord, mais qui commence par des données JSON au lieu de données directement à partir d'une source de données SQL.ORM pour Javascript/JSON

Existe-t-il de tels ORM en Javascript qui convertissent un ensemble de données JSON (lui-même dérivé d'un ensemble de requêtes SQL côté serveur) en un ensemble d'objets de type ActiveRecord?

Répondre

1

ExtJS a une très belle classe

+0

Oui, ExtJS le fait mais à mon avis, je trouve qu'il est gêné par des quantités massives de code hérité et une mauvaise personnalité. – Quickredfox

+0

personnalité, hein? – Mchl

+0

Concernant la communauté. – Quickredfox

0

de JsonStore Il y a CouchDB qui est un DB écrit en Erlang qui utilise HTTP comme le transport. Cela élimine le besoin de middleware et vous permet de naviguer directement dans la base de données avec les appels AJAX. Je ne peux pas parler bien ou mal à ce sujet. Je n'ai pas beaucoup entendu parler de ça depuis des mois et il semble que le train hype est parti il ​​y a quelques années. Un ORM nécessite une connaissance transcendante du schéma de la base de données, et l'envoyer avec une API n'est pas encore pragmatique pour le moment.

Pour le stockage local persistant, il existe le Google Gears désormais obsolète et la base de données HTML5 Clientsideide.

1

Il se peut que quelque chose me manque, mais JSON (JavaScript Object Notation) est déjà un objet Javascript en soi.

Si les données que vous obtenez du serveur ne correspondent pas bien à un objet Javascript utilisable, je dirais que c'est le côté serveur qui doit changer pour retourner un objet sérialisé plus utile plutôt qu'un simple jeu d'enregistrements.

0

Oui, il y a JSON ODM. Exactement ce que vous cherchez. Si vous avez besoin d'une méthode qui n'est pas encore supportée, publiez un problème et je ferai de mon mieux pour la prendre en charge le plus rapidement possible.

Si vous l'aimez s'il vous plaît lui donner une étoile!