从隐藏的输入值中读取 json

Lok*_*dav 0 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>
Run Code Online (Sandbox Code Playgroud)

Tan*_*avo 5

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

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

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

<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>
Run Code Online (Sandbox Code Playgroud)