这是一个生成json的C#Webservice,但它包含在XML中。在服务器端代码上解决这个问题的任何简单方法?这是一个简单的网站解决方案。我的web.config中可能缺少某些内容吗?
非常感谢。
更新:由于某种原因,其中一个答案消失了,但这是一个很好的建议,我没有序列化和重新生成一个json对象。我不知道该怎么做。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Script.Serialization;
/// <summary>
/// Summary description for WebService
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService
{
public WebService()
{
//Uncomment the following line if using designed components
//InitializeComponent();
}
DataClassesDataContext dc = new DataClassesDataContext();
[WebMethod]
public string GetID(string id)
{
var json = "";
var uid = from result in dc.GET_ID(id) select result;
JavaScriptSerializer jss = new JavaScriptSerializer();
json = jss.Serialize(uid);
return json;
}
答案 0 :(得分:0)
删除的答案建议先使用ScriptMethod
或ScriptService
属性(即[ScriptMethod(UseHttpGet = false, ResponseFormat=ResponseFormat.Json)]
)。
这是从.NET中的Web服务返回json的正确方法。
有关详细信息,请参阅此处:How to let an ASMX file output JSON。