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上正确显示,我想创建约会列表。
您是否考虑过为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服务的请求出现在页面的左栏中。单击Raw或TextView选项卡,查看是否显示您期望的JSON。