Arşiv

Posts Tagged ‘JavaScriptSerializer’

vb xml ve json web servis

12 Kasım 2016 1 yorum

Merhabaxml_json
Bugün Vb ile XML ve JSON web servis hazırlamaya bakacağız. Bir web servis hazırlayıp bu servis ile bir takım içindeki çalışanların id, adı, maaşı ve pozisyonu bilgilerini hem xml hem de json olarak nasıl alabilceğimize bakacağız. Bu işlem için önce bir proje açalım. Visual Studio içinde “File > New > Project > Visual Basic > Windows > Web > ASP.NET Web Application” seçiminden sonra ekrana gelen seçimlerden “Empty” seçimi ile projemizi oluşturalım. Proje oluştuktan sonra proje üzerinde sağ tık ile “Add > Web Service(ASMX)” seçimi ile servisimizi ekleyelim. Artık proje için herşey hazır olduğuna göre şimdi servis içinde kullanacağımız class larımızı hazırlayalım. İlk olarak takım üyelerinin bilgilerinin oldugu “Member” classını ve sonrasında da “Team” classını oluşturualım.

[Member.vb]

Public Class Member

    Private m_Id As Integer
    Public Property Id() As Integer
        Get
            Return m_Id
        End Get
        Set
            m_Id = Value
        End Set
    End Property

    Private m_Name As String
    Public Property Name() As String
        Get
            Return m_Name
        End Get
        Set
            m_Name = Value
        End Set
    End Property

    Private m_Salary As Integer
    Public Property Salary() As Integer
        Get
            Return m_Salary
        End Get
        Set
            m_Salary = Value
        End Set
    End Property

    Private m_Position As String
    Public Property Position() As String
        Get
            Return m_Position
        End Get
        Set
            m_Position = Value
        End Set
    End Property

End Class

[Team.vb]

Public Class Team
    Public Function GetTeamMembers() As Member()
        Dim teamMembers As Member() = New Member() {
            New Member() With {.Id = 1, .Name = "Samet", .Salary = 10000, .Position = "Software Specialist"},
            New Member() With {.Id = 2, .Name = "Kubilay", .Salary = 10000, .Position = "Software Specialist"},
            New Member() With {.Id = 3, .Name = "Erkan", .Salary = 10000, .Position = "Software Specialist"}}

        Return teamMembers
    End Function
End Class

İşlem yapacağımız classlarımız artık hazır şimdi bu classları kullanacağımız servisimizin içeriğini hazırlayalım. Servisimizin içinde iki adet metodumuz olacak, birisi XML olarak diğeride aynı veriyi JSON olarak bize verecek. Metodlarımız GetTeamFromXML ve GetTeamFromJSON olacak.

[JSONandXML.asmx.vb]

Imports System.ComponentModel
Imports System.Web.Script.Serialization
Imports System.Web.Script.Services
Imports System.Web.Services

' To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
' <System.Web.Script.Services.ScriptService()> _
<System.Web.Services.WebService(Namespace:="http://sametcelikbicak.com/")>
<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<ToolboxItem(False)> _
Public Class JSONandXML
    Inherits System.Web.Services.WebService

    <WebMethod>
    Public Function GetTeamFromXML() As Member()
        Dim team As New Team()
        Return team.GetTeamMembers()
    End Function

    <WebMethod>
    <ScriptMethod(ResponseFormat:=ResponseFormat.Json)>
    Public Function GetTeamFromJSON() As String
        Dim team As New Team()
        Return New JavaScriptSerializer().Serialize(team.GetTeamMembers())
    End Function

End Class

Artık herşey kullanıma hazır şimdi projeyi çalıştırıp servisin çalışmasını ve dönen değerlere bakalım. Servis çalıştığında aşağıdaki gibi görünecektir.

jsonandxmlvb

İlk olarak alıştığımız gibi XML metodunu çağırdık ve gelen sonuç aşağıdaki gibidir.

[GetTeamFromXML]

<?xml version="1.0" encoding="UTF-8"?>
<ArrayOfMember xmlns="http://sametcelikbicak.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Member>
<Id>1</Id>
<Name>Samet</Name>
<Salary>10000</Salary>
<Position>Software Specialist</Position>
</Member>
<Member>
<Id>2</Id>
<Name>Kubilay</Name>
<Salary>10000</Salary>
<Position>Software Specialist</Position>
</Member>
<Member>
<Id>3</Id>
<Name>Erkan</Name>
<Salary>10000</Salary>
<Position>Software Specialist</Position>
</Member>
</ArrayOfMember>

Şimdide aynı verilere sahip sonuçları bize veren JSON metodunu çağıralım ve sonuçlarına bakalım.

[GetTeamFromJSON]


<?xml version="1.0" encoding="UTF-8"?>
<string xmlns="http://sametcelikbicak.com/">[{"Id":1,"Name":"Samet","Salary":10000,"Position":"Software Specialist"},{"Id":2,"Name":"Kubilay","Salary":10000,"Position":"Software Specialist"},{"Id":3,"Name":"Erkan","Salary":10000,"Position":"Software Specialist"}]</string>

Artık bir web servis ile hem xml hemde json olarak verileri alabiliyoruz.

Projenin kaynak kodlarına üzerinden ulaşabilirsiniz.
Kolay gelsin.

c# xml ve json web servis

06 Kasım 2016 1 yorum

Merhabaxml_json
Bugün C# ile XML ve JSON web servis hazırlamaya bakacağız. Bir web servis hazırlayıp bu servis ile bir takım içindeki çalışanların id, adı, maaşı ve pozisyonu bilgilerini hem xml hem de json olarak nasıl alabilceğimize bakacağız. Bu işlem için önce bir proje açalım. Visual Studio içinde “File > New > Project > Visual C# > Windows > Web > ASP.NET Web Application” seçiminden sonra ekrana gelen seçimlerden “Empty” seçimi ile projemizi oluşturalım. Proje oluştuktan sonra proje üzerinde sağ tık ile “Add > Web Service(ASMX)” seçimi ile servisimizi ekleyelim. Artık proje için herşey hazır olduğuna göre şimdi servis içinde kullanacağımız class larımızı hazırlayalım. İlk olarak takım üyelerinin bilgilerinin oldugu “Member” classını ve sonrasında da “Team” classını oluşturualım.

[Member.cs]

namespace JSONandXMLCs
{
    public class Member
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public int Salary { get; set; }
        public string Position { get; set; }
    }
}

[Team.cs]

namespace JSONandXMLCs
{
    public class Team
    {
        public Member[] GetTeamMembers()
        {
            Member[] teamMembers = new Member[]
            {
            new Member() { Id=1,Name="Samet",Salary=10000,Position="Software Specialist"},
            new Member() { Id=2,Name="Kubilay",Salary=10000,Position="Software Specialist"},
            new Member() { Id=3,Name="Erkan",Salary=10000,Position="Software Specialist"},
            };

            return teamMembers;
        }
    }
}

İşlem yapacağımız classlarımız artık hazır şimdi bu classları kullanacağımız servisimizin içeriğini hazırlayalım. Servisimizin içinde iki adet metodumuz olacak, birisi XML olarak diğeride aynı veriyi JSON olarak bize verecek. Metodlarımız GetTeamFromXML ve GetTeamFromJSON olacak.

[JSONandXML.asmx.cs]

using System.Web.Services;
using System.Web.Script.Services;
using System.Web.Script.Serialization;

namespace JSONandXMLCs
{
    [WebService(Namespace = "http://sametcelikbicak.com/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    public class JSONandXML : System.Web.Services.WebService
    {
        [WebMethod]
        public Member[] GetTeamFromXML()
        {
            Team team = new Team();
            return team.GetTeamMembers();
        }

        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public string GetTeamFromJSON()
        {
            Team team = new Team();
            return new JavaScriptSerializer().Serialize(team.GetTeamMembers());
        }
    }
}

Artık herşey kullanıma hazır şimdi projeyi çalıştırıp servisin çalışmasını ve dönen değerlere bakalım. Servis çalıştığında aşağıdaki gibi görünecektir.

jsonandxmlcs

İlk olarak alıştığımız gibi XML metodunu çağırdık ve gelen sonuç aşağıdaki gibidir.

[GetTeamFromXML]

<?xml version="1.0" encoding="UTF-8"?>
<ArrayOfMember xmlns="http://sametcelikbicak.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Member>
<Id>1</Id>
<Name>Samet</Name>
<Salary>10000</Salary>
<Position>Software Specialist</Position>
</Member>
<Member>
<Id>2</Id>
<Name>Kubilay</Name>
<Salary>10000</Salary>
<Position>Software Specialist</Position>
</Member>
<Member>
<Id>3</Id>
<Name>Erkan</Name>
<Salary>10000</Salary>
<Position>Software Specialist</Position>
</Member>
</ArrayOfMember>

Şimdide aynı verilere sahip sonuçları bize veren JSON metodunu çağıralım ve sonuçlarına bakalım.

[GetTeamFromJSON]


<?xml version="1.0" encoding="UTF-8"?>
<string xmlns="http://sametcelikbicak.com/">[{"Id":1,"Name":"Samet","Salary":10000,"Position":"Software Specialist"},{"Id":2,"Name":"Kubilay","Salary":10000,"Position":"Software Specialist"},{"Id":3,"Name":"Erkan","Salary":10000,"Position":"Software Specialist"}]</string>

Artık bir web servis ile hem xml hemde json olarak verileri alabiliyoruz.

Projenin kaynak kodlarına üzerinden ulaşabilirsiniz.
Kolay gelsin.

%d blogcu bunu beğendi: