javascript - 在输入隐藏字段中存储返回 json 值

我想知道是否可以将返回的 json 存储在隐藏的输入字段中。例如,这是我的 json 返回的内容:

[{"id":"15aea3fa","firstname":"John","lastname":"Doe"}]

我只想将 id 存储在隐藏字段中,以便稍后引用它来处理它。

示例:我有这样的事情:

<input id="HiddenForId" type="hidden" value="" />

并希望 jquery 稍后将值返回给我,如下所示:

var scheduletimeid = $('#HiddenForId').val();

最佳答案

虽然我已经看到建议的方法使用和工作,但我认为仅使用 JSON.stringify 设置隐藏字段的值会破坏 HTML...

在这里我将解释我的意思:

<input type="hidden" value="{"name":"John"}">

如您所见,开链括号后的第一个双引号可能会被某些浏览器解释为:

<input type="hidden" value="{" rubbish >

因此,为了更好地解决此问题,我建议使用 encodeURIComponent 函数。与 JSON.stringify 一起,我们应该拥有如下内容:

> encodeURIComponent(JSON.stringify({"name":"John"}))
> "%7B%22name%22%3A%22John%22%7D"

现在该值可以安全地存储在输入隐藏类型中,如下所示:

<input type="hidden" value="%7B%22name%22%3A%22John%22%7D">

或者(甚至更好)使用由脚本操作的 HTML 元素的 data- 属性,该脚本将使用数据,如下所示:

<div id="something" data-json="%7B%22name%22%3A%22John%22%7D"></div>

现在要读回数据,我们可以执行以下操作:

> var data = JSON.parse(decodeURIComponent(div.getAttribute("data-json")))
> console.log(data)
> Object {name: "John"}

https://stackoverflow.com/questions/3448831/

相关文章:

jquery - 使用 Highcharts 通过 JSON 重新加载图表数据

ruby-on-rails - 使用 Rails 3.2.11 和 RSpec 发布原始 JSON

java - 确定 JSON 提要中是否存在值的更好方法

php - 为什么 json_encode 添加反斜杠?

python - 如何完全遍历未知深度的复杂字典?

jquery - getJSON 到 console.log() 输出 json 结构

c# - 如何从 C# 中的 JSON 字符串中获取一些值?

ios - 使用 AFNetworking 2.0 发布 JSON 数据

javascript - 将 JSON 字符串转换为 Javascript 数组

java - Gson:@Expose 与 @SerializedName