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)

Kirim email ke