假设您有一个与此类似的json数组:
[{"text":"0"},{"text":"1"}......]我将为对象类型声明一个类
public class TempClass{ public string text;}现在,反序列化部分
JsonSerializer ser = new JsonSerializer();ser.Converters.Add(new DummyConverter<TempClass>(t => { //A callback method Console.WriteLine(t.text); }));ser.Deserialize(new JsonTextReader(new StreamReader(File.OpenRead(fName))), typeof(List<TempClass>));还有一个伪JsonConverter类来拦截反序列化
public class DummyConverter<T> : JsonConverter{ Action<T> _action = null; public DummyConverter(Action<T> action) { _action = action; } public override bool CanConvert(Type objectType) { return objectType == typeof(TempClass); } public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { serializer.Converters.Remove(this); T item = serializer.Deserialize<T>(reader); _action( item); return null; } public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { throw new NotImplementedException(); }}


