C# Json Çıktı
-
Arkadaşlar daha önce c# da json la işim hiç olmamıştı. Şimdi json sonuç döndüren alanda değerleri almak istiyorum fakat farklı kütüphanelerle (Newtonsoft.Json ve web - Serialization) denememe rağmen alamadım. Dönen sonuç devamlı boş oluyor. Aşağıdaki şekilde olan bir json çıktıdan sonuçları hangi kütüphane ile ne şekilde alabilirim ?
{ "tip": "kitap", "tur": "roman", "urunler": [ {"ad": "Ihtiyar Kemanci", "yazar": "Nihat Genc"}, {"ad": "Su Cilgin Turkler", "yazar": "Turgut Ozakman"}, {"ad": "Kar", "yazar": "Orhan Pamuk"} ] "urunler2": [ {"ad": "Sır", "yazar": "Cengiz Erşahin"}, {"ad": "Saplantı", "yazar": "Conan Doyle"} ] }Bunlardan ürünler altındaki ad ve yazarları ayrı ayrı almak istiyyorum , ürünler2 deki ad ve yazarları da ayrı ayrı
-
önce json unu düzelt hocam !! urunler in bitimindeki ] sonra virgül olması lazım (ürünler2 den önce) (yapamam diyorsan buradakini kullanabilirsin http://paste2.org/wyMIxpAX ) , daha sonra exenin olduğu yere json.txt olarak kaydet ve alttaki kodu kullan (console uygulaması)
class Program { static void Main(string[] args) { var books = JsonConvert.DeserializeObject(File.ReadAllText("json.txt",Encoding.Default)); } } public class Kitaplar { public List Urunler { get; set; } public List Urunler2 { get; set; } } public class Urunler { public string ad { get; set; } public string yazar { get; set; } } public class Urunler2 : Urunler { }
kitaplar diye bir class oluşturdum, onun altında liste olarak urunler ve urunler2 yi bulabilirsin.. hepsi listeş eklinde.. ad ve yazar da o listenin her elemanın bir property si
unbalanced tarafından 21/Kas/15 16:44 tarihinde düzenlenmiştir -
Nury bunu yazdıunbalanced bunu yazdı
önce json unu düzelt hocam !! urunler in bitimindeki ] sonra virgül olması lazım (ürünler2 den önce) (yapamam diyorsan buradakini kullanabilirsin http://paste2.org/wyMIxpAX ) , daha sonra exenin olduğu yere json.txt olarak kaydet ve alttaki kodu kullan (console uygulaması)
class Program { static void Main(string[] args) { var books = JsonConvert.DeserializeObject(File.ReadAllText("json.txt",Encoding.Default)); } } public class Kitaplar { public List Urunler { get; set; } public List Urunler2 { get; set; } } public class Urunler { public string ad { get; set; } public string yazar { get; set; } } public class Urunler2 : Urunler { }
kitaplar diye bir class oluşturdum, onun altında liste olarak urunler ve urunler2 yi bulabilirsin.. hepsi listeş eklinde.. ad ve yazar da o listenin her elemanın bir property si
Json u nasil oge olarak taniyip alt elemanlarini gostertebiliyorsun visual studio da? ilk defa karsilastim :)
Json'ı öge olarak tanımak derken ne istedin bilmiyorum ama, txt yi okumuş yani json formatında ki stringi deserilaze etmiş objeye yollamış bu kadar.
-
@unbalanced , teşekkürler hocam faydalı oldu.. "json u örnek olsun diye yazmıştım dikkatimden kaçmış.."
-
kod düzenleyici kodu yine yutmuş, editlemiştim ama yine uçmuş.. kod şöyle olacak
var books = JsonConvert.DeserializeObject<Kitaplar>(File.ReadAllText("json.txt",Encoding.Default));
kitaplar class ındaki propertylere ve alt class lara json daki isimleri verdim ki deserilize yapabilsin
