Я пытаюсь понять, какой параметр StreamingContext должен содержаться в Json.NET Serialization Callbacks, сначала я думал, что вы разрешите мне доступ к текущему json-дереву, которое читается, но это не похоже на то, что, Я пробовал размещать объекты JSON, но ни один из них не мог получить ничего из параметра StreamingContext.
Вот пример, который показывает, что я делаю, пожалуйста, исправьте меня, если я ошибаюсь:
using System;
using System.Runtime.Serialization;
using Newtonsoft.Json;
namespace Testes
{
public class Program
{
[JsonObject(MemberSerialization.OptIn)]
public class Person
{
[JsonProperty("id")]
public int Id { get; set; }
[JsonProperty("name")]
public string Name { get; set; }
[JsonProperty("age")]
public int Age { get; set; }
[OnDeserialized]
internal void OnDeserializedMethod(StreamingContext context)
{
Console.WriteLine(String.Format("OnDeserialized: {0}", context.Context));
}
[OnDeserializing]
internal void OnDeserializingMethod(StreamingContext context)
{
Console.WriteLine(String.Format("OnDeserializing: {0}", context.Context));
}
}
public static void Main(string[] args)
{
var lucy = JsonConvert.DeserializeObject<Person>("{ 'id': 1, 'name': 'Lucy', 'age': 22 }");
Console.ReadKey();
}
}
}