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

Is it possible to store a JSON object directly into the DOM somehow?

本文关键字:存储 DOM 对象 JSON 方式 是否      更新时间:2023-09-26

如果手头有JSON.parse的输出,是否有将该对象作为单个实体存储在DOM中的合法方法?

jsonObject=JSON.parse(something);

我想考虑将jsonObject作为某个元素的(子||textNode||??)存储在DOM中,然后检索它,以便在检索后立即通过通常的访问其内容

jsonObject.keyName

我想避免添加几十个数据集属性,然后被迫一次提取一个。如果您有几十个键:值对,那么这将是太多的工作,而且看起来效率太低。

数据属性必须是字符串,不能直接在其中存储对象。因此,不要解析JSON字符串,只需将JSON字符串直接存储在数据集属性中即可。

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

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

jsonTable[id] = jsonObject;

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

您还可以考虑将原始JSON存储在隐藏的文件或其他一些隐藏的DOM元素中。请记住,如果您发布页面

,隐藏字段将被发布到服务器

TGH有正确的答案。将其保留为变量。

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

如果您想存储与DOM元素相关联的数据(JSON)。

您可以使用jQuery数据函数。

例如,将JSON存储到餐厅行(div)

$("div.restaurant-row").data("info",{purchases: "blablabla", mealFormulas: "xxxxx"});

例如,获取DOM关联数据

$("div.restaurant-row").data("info").purchases;    //blablabla

我不确定这是否是你想要的。

希望这对你有帮助。