在ASP.NET中为JSON响应创建基本Web服务

时间:2015-04-20 09:08:30

标签: c# asp.net json web-services

我在ASP.NET中创建了一个webservice示例。它正在生成一个响应JSON格式,但响应是用XML标记包装的。 我不想XML和JSON混合输出。

ASP.NET代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Script.Serialization;
using System.Web.Script.Services;
using System.Web.Services;

/// <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(); 
}

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string TestJSON()
{
    Employee[] e = new Employee[2];

    e[0] = new Employee();
    e[0].Name = "Bhavesh";
    e[0].Company = "TCS";

    e[1] = new Employee();
    e[1].Name = "Jiten";
    e[1].Company = "Infosys";

    return new JavaScriptSerializer().Serialize(e);
 }
}

public class Employee
{
   public string Name { get; set; }
   public string Company { get; set; }
}

输出

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<string xmlns="http://tempuri.org/">
[{"Name":"Bhavesh","Company":"TCS"},{"Name":"Jiten","Company":"Infosys"}]
</string>

注意: 我不想使用jQuery或任何其他像jQuery。 我需要JSON中的简单输出。 我正在使用Visual Studio 2012

1 个答案:

答案 0 :(得分:1)

检查配置文件。可能this answer可以解决您的问题:

<configuration>
    <system.web>
        <compilation debug="true" targetFramework="4.0" />
    </system.web>
    <system.webServer>
        <handlers>
            <add name="ScriptHandlerFactory"
                 verb="*" path="*.asmx"
                 type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
                 resourceType="Unspecified" />
        </handlers>
    </system.webServer>
</configuration>