ASP.NET脚本服务的客户端JSON到String?

时间:2011-07-14 21:32:16

标签: javascript asp.net ajax json asp.net-ajax

this网站,我了解到接受JSON的ASP.NET脚本服务实际上要求它们是序列化的JSON字符串(请参阅:“JSON,对象和字符串:哦我的!”链接部分)。是否有一种快速简便的方法来为客户端的ASP.NET AJAX消费序列化它们,而不是尝试手动将一堆现有对象转换为看起来像JSON的字符串?

提前致谢!

2 个答案:

答案 0 :(得分:2)

您可以将JSON.stringify()用于serialize client-side objects for consumption in ASP.NET's Script Services

使用该方法,您可以非常轻松地将客户端对象映射到服务器端对象。 ASP.NET将自动处理将JSON转换为对象(甚至是对象集合)。

答案 1 :(得分:0)

文章作者将Javascript对象与JSON字符串混淆。没有“JSON对象”这样的东西。

当然,如果您尝试将对象发送到Web服务,则必须将其序列化,因为请求数据只能包含文本,而不能包含对象。序列化要发布的数据的标准方法是对其进行URL编码,这就是jQuery所做的。

Javascript或jQuery中没有内置JSON序列化。您必须自己进行序列化或找到可以执行此序列化的库。以下是一些选项:Serializing to JSON in jQuery


此外,示例中发送的数据不是有效的JSON。它看起来像这样:

"{'fname':'dave', 'lname':'ward'}"

要成为有效的JSON,它应该如下所示:

'{"fname":"dave", "lname":"ward"}'