Javascript 是否可以以某种方式将JSON对象直接存储到DOM中?

Javascript 是否可以以某种方式将JSON对象直接存储到DOM中?,javascript,json,dom,Javascript,Json,Dom,如果一个人手头有一个JSON.parse的输出,那么有没有合法的方法将该对象作为单个实体存储在DOM中 i、 e jsonObject=JSON.parse(something) 我想考虑将JSONTROR对象存储在DOM中,作为某个元素的一个子元素(子节点),然后检索它,以便在检索后立即通过通常的:访问它的内容。 jsonObject.keyName 我希望避免添加几十个数据集属性,然后被迫一次提取一个属性。如果有几十个键:值对,那么这项工作太多,而且效率太低。这取决于页面的生命周期。如果不打

如果一个人手头有一个JSON.parse的输出,那么有没有合法的方法将该对象作为单个实体存储在DOM中

i、 e

jsonObject=JSON.parse(something)

我想考虑将JSONTROR对象存储在DOM中,作为某个元素的一个子元素(子节点),然后检索它,以便在检索后立即通过通常的:

访问它的内容。 jsonObject.keyName


我希望避免添加几十个数据集属性,然后被迫一次提取一个属性。如果有几十个键:值对,那么这项工作太多,而且效率太低。

这取决于页面的生命周期。如果不打算重新加载页面,最好将其作为JavaScript变量保留在页面上


您还可以考虑将原始JSON存储在隐藏的字段或其他隐藏的DOM元素中。请记住,如果发布页面,隐藏字段将被发布到服务器。数据属性必须是字符串,不能直接在其中存储对象。因此,不要解析JSON字符串,只需将JSON字符串直接存储在dataset属性中

如果使用jQuery,它的
.data()
方法将获取一个对象,并根据需要自动对其进行字符串化

如果要将对象与所有元素关联的元素都有ID,另一个选项是使用全局对象作为表,并键入元素的ID

jsonTable[id] = jsonObject;

TGH有正确的答案。把它作为一个变量


另一种方法是使用history.pushState()将其与页面的URL一起存储。如果您希望用户能够单击“上一步”按钮,并将json恢复到该页面的值,这将非常有用。

如果您希望存储与DOM元素关联的数据(json)

你可以用

例如,将JSON存储到餐厅的一排(div)

例如,获取DOM关联数据

$("div.restaurant-row").data("info").purchases;    //blablabla
我不确定这是否是你想要的


希望这对您有所帮助。

您在元素中存储了哪些内容?我正在编写一个餐厅销售点应用程序。我需要存储数百个属性:与库存、采购、膳食配方、膳食选择等相关的有价值的项目。JSON thingy在开发过程中通过手工编码我需要的文件非常方便。稍后,我计划使用DBMS后端将这些相同的json字符串发送过来,并将它们转换为json对象,作为将所有键:值对对象化的方便方法。然后我只想把json对象挂在它所属的DOM元素上。我个人认为,使用MVC方法比到处存储数据要好。我同意,如果不需要将它附加到DOM元素上,这是最好的方法。应该在全局窗口范围内。我想我应该停下来,弄清楚JQuery到底是关于什么的。我看到的语法在我看来像希腊语。我有30年的专业软件开发经验(大型机和微型机),使用了大约20种语言,但只使用了2周的JavaScript。到目前为止,JavaScript和DOM是一个非常强大的组合,但我仍在学习过程中。我相信我会尝试你的建议。几天前发现数据集后,我就朝那个方向倾斜。将信息存储为字符串实际上是我试图避免的,因为我需要将其作为JSON对象,而打包和解包似乎效率很低。请参阅我关于将数据存储在表中的其他建议。
$("div.restaurant-row").data("info").purchases;    //blablabla