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

q3qa4bjr  于 2023-06-20  发布在  Java
关注(0)|答案(1)|浏览(106)

我将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())

所以我从$(“#datainput [id=channels]”).瓦尔()得到JSON字符串而不是JSON对象。
如何在不转换JSON对象中的JSON字符串的情况下获得JSON对象?
先谢谢你了!

wztqucjr

wztqucjr1#

JSON.parse(jsonString);

对于没有原生JSON支持的旧浏览器,您可以简单地包含json2.js,这将成为一个可用的函数。
或者你可以跳过这一步,编写一些服务器端脚本。您可以简单地将JSON写入脚本标记中。相反,它被script标记隐式解析为原始javascript。

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

相关问题