Như chúng ta đã biết, Web Service trả về kết xuất XML theo mặc định. Tùy thuộc vào dữ liệu và khi số lần truy cập tăng lên cùng với nhiều dữ liệu, hiệu quả của việc truyền dữ liệu sẽ giảm. JSON - Javascript Object Notation rất nhẹ và đã đạt được khả năng tốt để dùng trong các kịch bản như vậy. Các nhà phát triển bây giờ thích JSON hơn XML.
Bây giờ, làm thế nào để tạo ra web service và xem làm thế nào để trả về một JSON.
Mở Visual Studio. Tạo một ứng dụng. Thêm Web Service vào. Thêm mã sau vào trong tệp service.
using System.Web.Script.Serialization;
using System.Web.Script.Services;
using System.Web.Services;
namespace WebServiceXMLtoJSON
{
public class Students
{
public int StudentId
{
get;
set;
}
public string Name
{
get;
set;
}
public int Marks {
get;
set;
}
}
///<summary>
/// Summary description for TestService
///</summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 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 TestService: System.Web.Services.WebService
{
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void GetStudents()
{
Students[] obj students = new Students[]
{
new Students()
{
StudentId = 1,
Name = "NitinTyagi",
Marks = 400
},
new Students()
{
StudentId = 2,
Name = "AshishTripathi",
Marks = 500
}
};
JavaScriptSerializerjs = newJavaScriptSerializer();
Context.Response.Write(js.Serialize(objstudents));
}
}
}
Từ lớp Student đã định nghĩa và đưa vào một số dữ liệu trong phương thức web getStudents(). Sử dụng thuộc tính sau đây để định dạng phản hồi vì chúng ta cần định dạng JSON.
[ScriptMethod (ResponseFormat = ResponseFormat.Json)]
Kiểm tra kết quả:
Nhấp vào GetStudents và nhận được phản hồi JSON từ service.