kalau saya biasanya menggunakan library JSON.NET,jadi cukup

buat kelas penampung buat response dari web service dalam hal ini :
 public class response
    {
        public string gambar { get; set; }
        public string id_kisah { get; set; }
        public string judul { get; set; }
        public string konten { get; set; }
        public string pengarang { get; set; }
        public string preview { get; set; }
    }

dan dipanggil dengan cara :
   public MainPage()
        {
            InitializeComponent();
            WebClient client = new WebClient();
            client.OpenReadCompleted += new
OpenReadCompletedEventHandler(client_OpenReadCompleted);
            client.OpenReadAsync(new Uri("
http://labs.abdullah21.net/api/show_all_kisah.php";),
UriKind.RelativeOrAbsolute);
        }

        void client_OpenReadCompleted(object sender,
OpenReadCompletedEventArgs e)
        {
            if (e.Error == null)
            {
                using (StreamReader sr = new StreamReader(e.Result))
                {
                    using (JsonReader jr = new JsonTextReader(sr))
                    {
                        JsonSerializer serializer = new JsonSerializer();
                        serializer.NullValueHandling =
NullValueHandling.Ignore;

                        List<response> returnvalue =
serializer.Deserialize<List<response>>(jr);


                    }
                }
            }
        }



2011/9/4 abdullah muhammad <[email protected]>

>  berhasil,
> makasih banyak pak putu *penjelasannya mantap euy ;)
>
>
> Thanks,
>
>
> Abdullah
>
> hhtp://abdullah21.wordpress.com
> --------------------------------------------
> Twitter || Fb || Koprol || ==> abdullah21
>
>
> > Date: Sun, 4 Sep 2011 10:45:26 +0700
> > From: [email protected]
>
> > To: [email protected]
> > Subject: Re: [Mugi] Tanya Parsing Json C#
> >
> > Hallo,
> > dibawah beberapa komen thd kode anda.
> >
> > 2011/9/3 abdullah muhammad <[email protected]>:
> > >
> > >             [DataMember]
> > >             public string pengarang { get; set; }
> > >
> > >
> > >             public detailedAddress[] addresses;
> > >         }
> >
> > Field addresses, array ini belum pernah di buat instance-nya.
> > kode: data.adresses[i]. bla...bla... akan error!
> > (pada method: client_OpenReadCompleted)
> >
> > >         void client_OpenReadCompleted(object sender,
> > > OpenReadCompletedEventArgs e)
> > >         {
> > >             try
> > >             {
> > >                 var serializer = new
> > > DataContractJsonSerializer(typeof(detailedAddress));
> > >                 detailedAddress data =
> > > (detailedAddress)serializer.ReadObject(e.Result);
> > >
> > >                 for (int i = 0; i <= data.addresses.Length - 1; i++)
> > >                 {
> > >
> > > LBDetailKisah.Items.Add(data.addresses[i].judul.ToString());
> > >
> > > LBDetailKisah.Items.Add(data.addresses[i].pengarang.ToString());
> > >                     LBDetailKisah.Items.Add("-----------------");
> > >
> > >                 }
> > >             }
> >
> > Masalah ada pada kode dalam method diatas:
> > 1. Kalau diakses http://labs.abdullah21.net/api/show_all_kisah.php
> > yang dikembalikan adalah *Kumpulan object* bukan *sebuah object*,
> > sehingga type yang diberikan ke Serializer harusnya dalam bentuk
> collection.
> >
> > 2. Penulisan i <= data.addresses.Length - 1 pada *for loop* jika object
> > addresses belum pernah dibuat akan menimbulkan error.
> > Kemudian, pengecekan kondisi umumnya ditulis:
> > i < data.addresses.Length (tanpa ada pengurangan, yang
> > menyebabkan penurunan performa, terutama jika item-nya banyak).
> >
> > 3. Penulisan: data.addresses[i].judul.ToString(), tidak perlu
> > karena field *judul* sudah dalam bentuk string (berlaku
> > juga untuk field2 lainya)
> >
> > Berikut kode parsingnya:
> > var serializer = new
> DataContractJsonSerializer(typeof(List<detailedAddress>));
> > var listOfObject = serializer.ReadObject(e.Result) as
> List<detailedAddress>;
> > foreach (var item in listOfObject)
> > {
> > LBDetailKisah.Items.Add(item.judul);
> > LBDetailKisah.Items.Add(item.pengarang);
> > LBDetailKisah.Items.Add("-----------------");
> > }
> >
> >
> > salam,
> > putu
> > _______________________________________________
> > To unsubscribe from this group, send an email to:
> > [email protected]
> > Get Free 5 GB mailbox Check this http://www.mugi.or.id
> >
> > Powered by bisnismedia.com
> > www.x-phones.com (all about ponsel)
>
> _______________________________________________
> To unsubscribe from this group, send an email to:
> [email protected]
> Get Free 5 GB mailbox Check this http://www.mugi.or.id
>
> Powered by bisnismedia.com
> www.x-phones.com (all about ponsel)
>



-- 
Puja Pramudya
@poedja_p | about.me/pujapramudya
http://www.pujalabs.net
_______________________________________________
To unsubscribe from this group, send an email to:
[email protected]
Get Free 5 GB mailbox Check this http://www.mugi.or.id

Powered by bisnismedia.com
www.x-phones.com (all about ponsel)

Kirim email ke