javascript - 从隐藏的输入中检索 JSON 数据

标签 javascript jquery

我将 JSON 数据存储在服务器端的 HTML 隐藏字段中。然后我想在客户端使用 Javascript 和 JQuery 检索该数据。问题是我得到的是 JSON 字符串而不是 JSON 对象。

这是我在服务器端的代码:

<form id="data" style="display: none;">
    <input id="channels" type="hidden" tal:attributes="value python: view.context['ChannelManager'].toJSON(view.channels.values())" />
    <input id="mediaGroups" type="hidden" tal:attributes="value python: view.context['MediaGroupManager'].toJSON(view.mediaGroups.values())" />
</form>

这是我在客户端的代码:

copy.channelList = new ChannelTest();
copy.channelList.fromJSONObjectAll($("#data input[id=channels]").val())

所以我从中得到 JSON 字符串而不是 JSON 对象,$("#data input[id=channels]").val()。

如何在不转换 JSON 对象中的 JSON 字符串的情况下获取 JSON 对象?

提前致谢!

最佳答案

JSON.parse(jsonString);

对于没有 native JSON 支持的旧浏览器,您可以简单地包括 json2.js这将成为一个可用的功能。


或者您可以使用一些服务器端脚本跳过此步骤。您只需将 JSON 写入脚本标签即可。它被脚本标记隐式解析为原始 javascript。

<script type="text/javascript">
  var myObj = <%= myJsonString %>;
  console.log('we got this value: '+ myObj.myValue);
</script>

关于javascript - 从隐藏的输入中检索 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4306270/

相关文章:

javascript - 如何在ajax成功中提取字符串列表值

jquery - 是否有现有的库/插件来创建像 Visual Studio 中那样的可停靠、可调整大小和可固定的侧边栏窗口?

javascript - iframe 中嵌入的页面中的 YouTube 视频在 Firefox 中不起作用

javascript - Highcharts - 仅向某些动态添加的系列添加工具提示

javascript - 在 Zkoss 中,选定的复选框已设置禁用(true),但我希望复选框和勾选的可见性保持不变

javascript - 如何从同一个表单元素中逃脱 Jquery 表单验证?

javascript - Html5 需要验证复选框

javascript - 如何使用 jQuery 查找最大数据项的跨度

javascript - 使用 jQuery 过滤 JavaScript 数组中的项目

javascript - 根据变量动态更改图像 URL