用于 Javascript/JSON 的 ORM
Posted
技术标签:
【中文标题】用于 Javascript/JSON 的 ORM【英文标题】:ORM for Javascript/JSON 【发布时间】:2011-03-21 19:20:35 【问题描述】:我正在开发一个 Web 应用程序,该应用程序使用 jQuery/ajax 从服务器(Ruby/Rails)获取 JSON 数据到客户端,然后使用 jQuery 将其呈现给浏览器以填充 DOM。为了简化对客户端数据的访问,我想使用类似于 ActiveRecord 的对象关系映射器,但它以 JSON 数据而不是直接来自 SQL 数据源的数据开始。
javascript 中是否有任何此类 ORM 可以将 JSON 数据集(其本身源自服务器端的一组 SQL 查询)转换为一组类似 ActiveRecord 的对象?
【问题讨论】:
【参考方案1】:我可能在这里遗漏了一些东西,但 JSON(JavaScript 对象表示法)本身已经是一个 Javascript 对象。
如果您从服务器获取的数据没有很好地映射到可用的 Javascript 对象,我认为需要更改的是服务器端以返回更有用的序列化对象而不是简单的记录集。
【讨论】:
这个答案有点过时了,因为 JavaScript 现在有可以与 TypeScript 或 Flow 一起使用的类和类语法,以便更好地进行类型检查。【参考方案2】:ExtJS 有一个非常好的 JsonStore 类
【讨论】:
是的,ExtJS 可以做到这一点,但在我看来,我发现它受到大量遗留代码和不良个性的阻碍。 我明白了。和他们没什么关系。【参考方案3】:CouchDB 是一个用 Erlang 编写的数据库,使用 HTTP 作为传输。这消除了对中间件的需求,并允许您使用 AJAX 调用直接导航数据库。我不能说好或坏。几个月来我没有听到太多关于它的消息,似乎炒作的火车几年前就离开了。
您不能在 Javascript 中将 ORM 连接到远程数据库。而且,ORM 需要对数据库架构的先验知识,而使用 API 将其发送出去还不是那么实用。
对于持久性本地存储,有现已弃用的 Google Gears 和 html5 Clientside DB。
【讨论】:
【参考方案4】:是的,有JSON ODM。正是您正在寻找的。如果您需要一种尚不支持的方法,请发布问题,我会尽我所能尽快支持它。
如果你喜欢它,请给它一个星!
【讨论】:
以上是关于用于 Javascript/JSON 的 ORM的主要内容,如果未能解决你的问题,请参考以下文章