21 Ocak 2017 Cumartesi

NewtonSoft Json

Giriş
.Net dünyasında Json ile uğraşmanın standart yolu DataContractJsonSerializer sınıfını kullanmak. Ancak Newtonsoft'un Json kütüphanesinin daha iyi olduğunu iddia ediliyor.
Şu using ifadesinini kullanırız.
using Newtonsoft.Json;

Json formatı
Json dosyasında comment kullanılmaz. Json sadece veri içindir.

Json süslü parantezler içinde "key1": value1,"key2": value1...} şeklindedir. Key değerleri hep tırnak içindedir.
{
        "data": 1290,
        "value": "a"
}
İsmi Basic olan dizi
{
      "Basic": [
        {
          "cardId": "HERO_09",
          "cardSet": "Basic",
          ...
        },{...},{...}
       ]
}
Nesne içinde nesne
{
    "apikey": "example apikey",
    "id": "example id",
    "email": {
        "email": "example email",
        "euid": "example euid",
        "leid": "example leid"
            }
}
JsonConstructor Annotation
JsonConstructor Annotation yazısına taşıdım.

JsonProperty Annotation
Örnek 1
Elimizde şöyle bir json olsun
[{"Yes":"52","No":"41"}]
Şöyle yaparız.
public class Survey
{
  [JsonProperty("Yes")]
  public string Yes { get; set; }

  [JsonProperty("No")]
  public string No { get; set; }
}
Örnek 2
Şöyle yaparız.
public class Foo
{
  [JsonProperty("Product")]
  public List<Product> Products { get; set; }
}
JsonConvert Sınıfı
JsonConvert Sınıfı yazısına taşıdım.

CustomCreationConverter Sınıfı
Şöyle yaparız.

DataTableConverter Sınıfı
Şöyle yaparız

JsonSerializer sınıfı
Stream ile Deserialize
Şöyle kullanılır
using (StreamReader sr = new StreamReader("TestFile.txt"))
{
  JsonSerializer serializer = new JsonSerializer();
  MyObject myObject = serializer.DeserializeObject<MyObject>(sr)
}

Hiç yorum yok:

Yorum Gönder