

Json Dosyasindan İstedigim Field Alanini C# İle Nasil Alabilirim?
-
Su asagidaki formattaki json kodlarindan sadece nickname olan fieldleri C# ile nasil bir TextBox icine liste seklinde alt alta alabilirim?
bu kodlar nette bir json dosyasinda oldugunu farz edersek.
-{"code":0, "data":-[-{"id":5918604, "nickname":"mann_muc", "avatar":"/images/plc/de/image_fsk18_300.jpg", "age":50, "gender":"m", "city":"München", "plz":"81379", "seek":"m,w,p,tv,ts", "reason":0, "isTg":0, "isVip":0 }, -{"id":3936999, "nickname":"martinegal", "avatar":"http://1.bild.poppen.de/fsk16/1/7/C/3936999-17C73C99928C110B_300_sq.jpg", "age":24, "gender":"m", "city":"Duderstadt", "plz":"37115", "seek":"m,w,p", "reason":2, "isTg":0, "isVip":0 }, -{"id":3468005, "nickname":"ppurewu", "avatar":"/images/plc/de/image_fsk18_300.jpg", "age":50, "gender":"m", "city":"Erlangen", "plz":"91052", "seek":"m,w,p", "reason":0, "isTg":0, "isVip":0
Kanakan tarafından 28/Kas/15 19:12 tarihinde düzenlenmiştir -
http://www.yazilimsevdasi.com/csharp-json-kullanimi/
Hocam bu sayfada json kullanımı temel olarak anlatılmış , burdan yola çıkarak işini görebilirsin.
-
coder2
verdigin linkdeki dll 'i indirip reference ettim ve yukardaki json örnegini users.json dosyasi sekline getirdim ve söyle bir örnek yaptim.
private void button1_Click(object sender, EventArgs e) { string data = File.ReadAllText(@"F:\\users.json"); JObject jsonveri = JObject.Parse(data); string isim = (string)jsonveri["nickname"]; textBox1.Text = isim; }ama nedense textbox icine veri alamiyorum. söyle bir döngü uyguladim buda foreach'da nullreferenceExeptcion hatasi veriyor.
private void button1_Click(object sender, EventArgs e) { string data = File.ReadAllText(@"F:\\users.json"); JObject jsonveri = JObject.Parse(data); foreach( var isim in (string)jsonveri["nickname"]) { listBox1.Items.Add(isim); } }
Kanakan tarafından 02/Ara/15 00:38 tarihinde düzenlenmiştir -
hocam önce json dosyanı şu siteden c# yapısını çıkart http://json2csharp.com/
Daha sonra şu kodları kendine göre düzenle
protected void Page_Load(object sender, EventArgs e) { HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create("http://x.x.com/x/x"); HttpWebResponse webResponse = (HttpWebResponse)httpRequest.GetResponse(); using (StreamReader r = new StreamReader(webResponse.GetResponseStream())) { string json = "[" + r.ReadToEnd() + "]"; List items = JsonConvert.DeserializeObject<List>(json); dynamic array = JsonConvert.DeserializeObject(json); foreach (var item in items) { List foot = item.FOOTBALL; if (foot != null) { foreach (var l in foot) { Response.Write(l.NAME + " - " + l.IDFOEVENT + " - " + "" + " - " + " " + Convert.ToDateTime(l.TSSTART).AddHours(1) + "
"); DateTime d = Convert.ToDateTime(l.TSSTART).AddHours(1); if (System.DateTime.Now < d ) { Response.Write("maç var
"); } else Response.Write("yok
"); } } } } }public class FOOTBALL { public string IDFOEVENT { get; set; } public string NAME { get; set; } public string TSSTART { get; set; } }public class RootObject { public List<TENNI> TENNIS { get; set; } public List<FOOTBALL> FOOTBALL { get; set; } public List<CRICKET> CRICKET { get; set; } public List<BASKETBALL> BASKETBALL { get; set; } public List<SNOOKER> SNOOKER { get; set; } public List<ICEHOCKEY> ICEHOCKEY { get; set; } public List<VOLLEYBALL> VOLLEYBALL { get; set; } public List<HANDBALL> HANDBALL { get; set; } }
cemnet tarafından 02/Ara/15 11:18 tarihinde düzenlenmiştir -
Hocam ufak bi örnek yazdım aynı dll ile , bi incele istersen.
http://s6.dosya.tc/server4/2gvd3x/WindowsFormsApplication2.rar.html
* system ıo ve net ile newtonsoft.json.linq leri eklemeyi unutma hocam , ayrıca örnekte ki dosya yolunu çalıştırmadan önce düzeltirsin
-
@coder2
verdigin örnek ok.calisiyor
ama benim json dosyasi icinde birden cok ayni field var. örnegin nickname, ilk yazdigim mesajdaki json örneginde oldugu gibi.
senin örnek json kodlarini söyle degistirdigimde
{ "adi": "ahmet", "soyadi": "koc", "memleket": "Ankara" } { "adi": "mehmet", "soyadi": "koyun", "memleket": "Istanbul" } { "adi": "osman", "soyadi": "tosun", "memleket": "Antalya" }ben bu örnegin "adi" fieldlerin hepsini alip listbox1'e aktarmak istiyorum. söyle yapiyorum ama olmuyor.
string data = File.ReadAllText(@"TextFile1.txt"); JObject JSONparser = JObject.Parse(data); foreach (var isim in JSONparser) { listBox1.Items.Add((string)JSONparser["adi"]); }Kanakan tarafından 02/Ara/15 21:32 tarihinde düzenlenmiştir -
Hala bir cözüm bulamadim
-
-
Direkt C# ile yapamazmiyim?Ilk mesajda sundugum Formattadki bir json dosyasini okuyup sadece istedigim field alanlarini listBox1 icine aktarmak istiyorum.
Json icinde ne kadar ayni isimde field alani varsa, örnegin nickname yazan yerlerin hepsini!
Jquery ile zamaninda xml dosyalarini 3-5 satirlik kod ile yapmistim.Sanirim json dosyasinida okuyabilirim ama ben c# ile yapmak istiyorum.
Kanakan tarafından 14/Ara/15 14:44 tarihinde düzenlenmiştir -
Hocam, ben c# ile yapamamıştım. Webservis ile çektiğim json dosyası üzerinde uygun verileri almak istediğimde 1 gün araştırma yaptım lakin bir şey bulamamıştım.
Haliyle o olmayınca jQuery ile 4-5 satır kodla (foreach) işimi halletmiştim.
Asp.net kısmında json manüplasyonu zor (Kütüphanesiz felan.)
ontedi tarafından 14/Ara/15 15:05 tarihinde düzenlenmiştir