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)
