C#到JavaScript序列化问题
本文关键字:问题 序列化 JavaScript | 更新日期: 2023-09-27 18:27:52
我正试图将一个双数组从C#动态传递给一些JavaScript代码。以下是我现在的做法:
var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
var jsLat = serializer.Serialize(lat);
然后我用jsLat
作为参数调用InvokeScript
。
当我在JS端尝试lat.length
时,我得到了正确的长度,但当我尝试lat[#]
时,所有值都返回为未定义。
此外,当我执行alert(lat.valueOf())
时,我会看到所有的值。
为什么所有的值都是未定义的?
您正在寻找所有现代浏览器都支持的JavaScript端的JSON.parse函数。除非您需要支持IE7/IE6,否则它是内置函数,对于IE6/7,有JavaScript实现(请查看http://json.org详细信息)。
var result = JSON.parse("{lat:1234, lon:567"})
如果您使用的是jQuery,则可以使用支持所有浏览器的jQuery.parseJSON。