从隐藏的输入值中读取json

时间:2012-02-18 07:42:01

标签: javascript

尝试从隐藏的输入值中读取JSON。

<html>
    <body>
        <input id="hdn" type="hidden" value='{"products":{"id":100001,name:"Ram"}}'>

        <script type="text/javascript">

            var jsonObj = document.getElementById('hdn').value;

            alert(jsonObj);

            alert(jsonObj.products.name);

        </script>
    </body>
</html>

1 个答案:

答案 0 :(得分:4)

您需要将其解析为var jsonObj = JSON.parse(document.getElementById('hdn').value)

注意,我通过在name属性中添加引号来更改存储JSON对象的方式。我添加了console.log和一个警报...主要是因为我更喜欢console.log,但你最初有一个警报。

这是更新的(工作)代码:

<html>
    <body>
        <input id="hdn" type="hidden" value='{"products":{"id":100001,"name":"Ram"}}'>
        <script type="text/javascript">
            var jsonObj = JSON.parse(document.getElementById('hdn').value);

            console.log(jsonObj);
            console.log(jsonObj.products.name);

            alert(jsonObj);
            alert(jsonObj.products.name);
        </script>
    </body>
</html>