【问题标题】:JSON to String on client side for ASP.NET Script Service?用于 ASP.NET 脚本服务的客户端的 JSON 到字符串?
【发布时间】:2011-10-05 17:21:10
【问题描述】:

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

提前致谢!

【问题讨论】:

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


    【解决方案1】:

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

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

    Javascript 或 jQuery 中没有内置 JSON 序列化。您必须自己进行序列化或找到一个库来完成它。以下是一些选项:Serializing to JSON in jQuery


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

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

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

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

    【讨论】:

    • 为什么投反对票?如果你不解释你认为错误的地方,它就无法改进答案。
    • 赞成以抵消反对票。感谢您添加更多解释。
    【解决方案2】:

    你可以使用 JSON.stringify() 来serialize client-side objects for consumption in ASP.NET's Script Services

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多