2012-02-18 79 views
0

试图从隐藏输入值读取JSON。从隐藏输入值读取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> 

回答

4

你需要分析它作为var jsonObj = JSON.parse(document.getElementById('hdn').value)

注意,我改变你储存您的JSON对象的方式,通过添加引号到name财产。我添加为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> 
+0

代码更新。仍然没有得到警报。工作示例http://jsfiddle.net/UHdpY/ – 2012-02-18 07:45:31

+0

我使用*** ASP.NET ***,我有' Kiquenet 2018-02-02 07:00:33