html - 在 DOM 中存储 JSON 的最佳实践

标签 html json dom javascript

我想使用 HTML 模板呈现一些 json 数据。

我还没有开始实现任何东西,但我希望能够将 json 中的数据值“设置”到包含一条记录模板的 html 元素,或者使用一些参数呈现一些项目集合每个项目的模板 html,而且还能够以与用于呈现项目的源 JSON 相同的格式获取 JSON 对象(我希望我的初始 JSON 包含有关记录行行为的更多信息,而无需制作ajax 请求检查用户是否可以或不能对该记录执行某些操作,并且并非所有这些信息都在模板中可见)。

我知道我可以为要存储的对象的每个属性创建一个带有输入元素的隐藏表单,以及与 JSON 之间的映射器函数,但这对我来说听起来有点矫枉过正,我不喜欢那样,我想要一些更轻的“信封”。

我想知道是否有一些 JS 库可以将 JSON 对象“序列化”和“反序列化”到 html 中,这样我就可以将它存储在 DOM 中的某个地方(即在包含数据显示的元素中,但我希望能够存储不必显示为表单元素的附加属性)?

更新 由于第一个答案建议将 JSON 存储在全局变量中,我也考虑过这一点,我的“最佳”心理解决方案是制作 JavaScript 模块(或 jQuery 插件)来进行“映射” ” 的 JSON 到 html,如果不能在 html 中存储值,那么它可以将它们存储在内部变量中,所以当我想从 html 元素“获取”数据时,它可以从其本地副本中提取数据。我想知道有没有更好的方法?如果有一些库将此信息存储在变量中,但使用 html 实时“绑定(bind)”该数据,我会非常高兴。

更新 2 现在使用 http://knockoutjs.com/ 完成, 不再需要将 json 保留在 DOM 中,knockout 会自动进行 JSON<=>HTML 映射

最佳答案

为什么不按预期的方式存储它:作为 javascript 对象? DOM 是一个可怕的地方。

也就是说,jQuery 有 data method这只允许这样做。

关于html - 在 DOM 中存储 JSON 的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7529173/

相关文章:

javascript - SYNTAX_ERR : DOM Exception 12 - Hmmm

html - 如何给HTML5图片元素添加CSS类

javascript - 使用 JQuery 创建元素时遇到问题

html - 尽管分配了百分比宽度,IMG 仍生成滚动条

json - 将所有属性集收集在一个样式表中并包含在principal.xsl中

json - 如何编写解析此JSON的Dart模型类?

java - JSON、Jersey 和 Jackson 中的多态性

javascript - 可以向 HTML5 文档类型添加额外数据

javascript - setInterval ("/*some code*/", time) 和 setInterval(function() {/*一些代码*/}, time)

javascript - 有没有办法在javascript中动态查看调用堆栈?