Merhaba ,

Kaynak : 

https://stackoverflow.com/questions/1207731/how-can-i-deserialize-json-to-a-simple-dictionarystring-string-in-asp-net 

https://www.w3schools.com/js/js_json_arrays.asp 

http://www.newtonsoft.com/json/help/html/SerializingCollections.htm 

Eğer json diziniz bir class şeklinde değilde şimdi paylaşacağım şekilde dinamik olarak oluşan bir ekrandaki nesneleri toplayarak post edeceği değeri oluşturan bir text,value şeklindeki dictionaryden oluşsaydı nasıl olacaktı ve biz bunu nasıl deserialize edecektik.

{ "key1": "value1", "key2": "value2"}

Öncelikle biraz json dizilerinden bahsetmek isityorum.

[ "Ford", "BMW", "Fiat" ]

Bu bir string array. Tek boyutlu stringlerin içine n tane konulabileceği bir array

{
"name":"John",
"age":30,
"cars":[ "Ford", "BMW", "Fiat" ]
}

Bu da name,age, cars isimli üç property si olan bir class. Burada cars yukarıda ki örnekte görüldüğü üzere bir string array. Dizi "[]" içinde olmasına karşın, class "{}" küme parantezi içerisinde tanımlanıyor.

Fakat başta bahsettiğim gibi dictionary yapısı biraz daha sadece ve farklı bir notasyona sahip önce json notasyonun dictionary şeklinde doğru kurgulanması gerekiyor.

Daha sonra burada uyguladığım deserilizasyon işleminde http://www.newtonsoft.com kütüphanesini yöntemini kullandım gayette başarılı bir şekilde çevirdi..

Kullandığım kod satırı

string json = @"{""key1"":""value1"",""key2"":""value2""}";

Dictionary<string, string> values = JsonConvert.DeserializeObject<Dictionary<string, string>>(json);

 

Herkese iyi çalışmalar.