Here is a working example of that
asmx syntax
<%@ WebService Language="C#" CodeBehind="TestService.asmx.cs" Class="WebApplication1.TestService" %>
public class Course
{
public int Id { get; set; }
public string Name { get; set; }
public int Marks{ get; set; }
}
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
public class TestService : System.Web.Services.WebService
{
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void GetCourses()
{
var courses = new Course[]
{
new Course()
{
Id = 1,
Name = "Course 1",
Marks = 100
},
new Course()
{
Id = 2,
Name = "Course 2",
Marks = 100
}
};
var js = new JavaScriptSerializer();
Context.Response.Write(js.Serialize(courses));
}
}
Result
[{"Id":1,"Name":"Course 1","Marks":100},{"Id":2,"Name":"Course 2","Marks":100}]