c# Web服务到javascript反序列化JSON对象

本文关键字:反序列化 JSON 对象 javascript Web 服务 | 更新日期: 2023-09-27 18:17:15

我有一个web应用程序。在里面我有一个asmx文件"MyWebServices"。我有一个Webmethod,它发送一个json对象到我的WebForm2.aspx。我的问题是如何用Javascript捕获这个对象,存储它,并用Javascript显示它。我在MyWebServices上的代码。asmx:

public class apointment
    {
        public string Fname{ get; set; }
        public string Lname{ get; set; }
        public string customerid { get; set; }
    }
[WebMethod]
    public string myapointment()
    {
        apointment myapointment1= new apointment();
       myapointment1.customerid = "123POW";
        myapointment1.Fname = "John";
        myapointment1.Lname = "JohnsLname";
        System.Web.Script.Serialization.JavaScriptSerializer oSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
        string sJSON = oSerializer.Serialize(myapointment1);
        return sJSON;
    }

我的代码在。net页面Javascript:

<script type="text/javascript">
    $(document).ready(function () {
        $.ajax({
            type: "POST",
            url: "services/MyWebServices.asmx/myapointment",
            data: "{}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {

                // Insert the returned HTML into the <div>.
                var myrant = data.d;
                $('#RSSContent').html(data.d);
            }
        });
    });

</script>

问题是这个代码,我正在接受一个字符串:

{"Fname":"John","Lname":"JohnsLname","customerid":"123POW"}

如何将此字符串转换为对象类型约会?我问,因为之后,我可以在html上正确显示,我想创建约会列表。

c# Web服务到javascript反序列化JSON对象

您是否考虑过为web服务使用以下代码?

[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
[WebMethod]
public apointment myapointment()
{
    apointment myapointment1 = new apointment();
    myapointment1.customerid = "123POW";
    myapointment1.Fname = "John";
    myapointment1.Lname = "JohnsLname";
    return myapointment1;
}

其次,根据这个问题的答案(从Javascript调用ASMX Web服务),你是否取消了Web服务顶部的这一行注释?

//[System.Web.Script.Services.ScriptService]

最后,您是否尝试使用Fiddler (http://www.telerik.com/fiddler)来调试您的web服务,以确定web服务是否返回正确的输出?使用Composer选项卡进行以下设置:

  • 方法:文章
  • URL: web服务的URL(例如http://www.example.com/services/MyWebServices.asmx/myapointment)
  • 请求头:Content-Type: application/json

您应该看到对web服务的请求出现在页面的左栏中。单击RawTextView选项卡,查看是否显示您期望的JSON。