ASP.NET - 使用jQuery的基于JSON的Web服务的正确方法是什么?

Bud*_*Joe 5 javascript asp.net jquery json web-services

将基于ASP.NET SOAP的Web服务转换为基于JSON的响应的正确方法是什么?...然后从jQuery调用这些?

在集成基于jQuery的AJAX和ASP.NET时,什么是"最佳实践"?文章?图书?

Fra*_*man 3

可以使用System.Runtime.SerializationSystem.Runtime.Serialization.JSON完成到 .NET 类的 JSON 转换。我怀疑您对设置从客户端到服务器的函数调用更感兴趣。我认为这个教程值得尝试。

在本教程中,您需要添加一个 Web 服务“.asmx”文件。在 asmx 文件中,您将能够创建可从客户端脚本调用的函数。您的 ASP.NET 页面还可以引用生成的客户端脚本来调用 .asmx 函数。

如果您确实想要进行 JSON 序列化,您也可以使用以下命令:

using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;

public class JsonSerializer
{
    // To make a type serializeable, mark it with DataContractAttribute
    // To make a member of such types serializeable, mark them with DataMemberAttribute
    // All types marked for serialization then need to be passed to JsonSerialize as
    // parameter 'types'

    static public string JsonSerialize(object objectToSerialize, params Type[] types)
    {
        DataContractJsonSerializer serializer = new DataContractJsonSerializer(
            types[0], types.Skip(1));

        MemoryStream ms = new MemoryStream();
        serializer.WriteObject(ms, objectToSerialize);
        ms.Seek(0, SeekOrigin.Begin);
        StreamReader sr = new StreamReader(ms);
        return sr.ReadToEnd();
    }
}
Run Code Online (Sandbox Code Playgroud)