Başlangıç > C# > c# xml ve json web servis veri alma

c# xml ve json web servis veri alma


Merhaba xml_json
Bugün daha önce yazdığım c# xml ve json web servis konusu ile hazırladığımız servisi kullanarak veri alama işlemini yapacağız. Bu işlem için öncelikle bir Console uygulaması hazırlayalım ve daha önce oluşturuduğumuz servisi bu proje içine referans olarak ekleyelim. Visual Studio içinde “File > New > Project > Visual C# > Windows > Console Application” seçimi ile uygulamamızı hazırlayalım. Daha sonra ise proje üzerinde References üzerinde sağ tık ile açılan menüden Add Service Reference ile bir önceki makalede hazırladığımız servisimizi ekleyelim. Daha önce hazırladığımız servisimizi localhsot üzerinde çalıştırıp adresini aldıktan sonra servis referansa http://localhost:57654/JSONandXML.asmx?wsdl olarak ekliyoruz ve servis referans adı olarak da “JSONandXMLCs” değerini veriyoruz. Daha sonra yine references alanında yine sağ tık ile add reference diyoruz ve JSON web servisi parse edebilmek için gerekli olan System.Web.Extensions dll ini ekliyoruz. Artık programımızda servislerden veri alacak kodlarımızı yazalım. İlk olarak JSON parse işelminde ihtiyacımız olan Member.cs class ımızı oluşturalım.

[Member.cs]

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

Member class ımız hazır olduğuna göre artık kodlarımız tamamlayalım.

[Program.cs]

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

namespace CallJSONandXMLCs
{
    class Program
    {
        static void Main(string[] args)
        {
            JSONandXMLCs.JSONandXMLSoapClient xmlClient = new JSONandXMLCs.JSONandXMLSoapClient();
            var teamFromXML = xmlClient.GetTeamFromXML();
            Console.WriteLine("XML'den gelen sonuçlar:");
            foreach (var item in teamFromXML)
            {
                Console.WriteLine(item.Id + " " + item.Name + " " + item.Position + " " + item.Salary);
            }
            Console.WriteLine();

            JSONandXMLCs.JSONandXMLSoapClient jsonClient = new JSONandXMLCs.JSONandXMLSoapClient();
            var teamFromJSON = jsonClient.GetTeamFromJSON();
            JavaScriptSerializer jss = new JavaScriptSerializer();
            List<Member> members = new List<Member>();
            members = jss.Deserialize<List<Member>>(teamFromJSON);
            Console.WriteLine("JSON'dan gelen sonuçlar:");
            foreach (var item in members)
            {
                Console.WriteLine(item.Id + " " + item.Name + " " + item.Position + " " + item.Salary);
            }
            Console.ReadKey();
        }
    }
}

Yukarıdaki kodlarda da görüldüğü gibi hem XML’den hemde JSON’dan gelen sonuçları çıktı olarak console üzerine yazdırık. Kodlarda özellikle farklı client oluşturdum xmlClient ve jsonClient şekilinde , bu sebeple iki servis için yazılan kodları ayrı ayrı okumak kolay ve anlaşılır olabilir. Yukarıdaki kodlar çalıştığında çıktı aşağıdaki gibi olacaktır.

XML'den gelen sonuçlar:
1 Samet Software Specialist 10000
2 Kubilay Software Specialist 10000
3 Erkan Software Specialist 10000

JSON'dan gelen sonuçlar:
1 Samet Software Specialist 10000
2 Kubilay Software Specialist 10000
3 Erkan Software Specialist 10000

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

Reklamlar
Kategoriler:C# Etiketler:, , , ,
  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: