20 Şubat 2018 Salı

NewTonsoft JsonTextReader Sınıfı

Constructor
Bu sınıf JsonSerializer ile kullanılır. Şöyle yaparız.
var serializer = new JsonSerializer();
var reader = new JsonTextReader(...);

Foo foo = serializer.Deserialize<Foo>(reader));
Örnek - StringReader
Şöyle yaparız.
using (var reader = new JsonTextReader(new StringReader(yourJsonStr))
{
  ...
}
Örnek - StreamReader
Şöyle yaparız.
Stream stream = ...;
var streamReader = new StreamReader(stream, new UTF8Encoding());

using (var reader = new JsonTextReader(streamReader)) {
  ...
}
Read metodu
JsonReaderException fırlatabilir. Elimizde şöyle bir yapı olsun.
var result = new Dictionary<string, object>();
Şöyle yaparız.
var lastProp = string.Empty;
    
while (reader.Read())
{
  if (reader.TokenType == JsonToken.PropertyName)
  {
    lastProp = reader.Value.ToString();
  }

  if (reader.TokenType == JsonToken.Integer || 
      reader.TokenType == JsonToken.String)
  {
    result.Add(lastProp, reader.Value);
  }
}
SupportMultipleContent Alanı
Arka arkaya bir çok Json nesnesi olduğunu belirtir.. Şöyle yaparız.
reader.SupportMultipleContent = true;


Hiç yorum yok:

Yorum Gönder