这是我的自定义 json 转换器的一部分:
public class ExpandoConverter : JsonConverter
{
public override bool CanConvert(Type objectType)
{
return typeof(Expando).IsAssignableFrom(objectType);
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
if (reader.TokenType == JsonToken.Null)
return null;
/// How can I get all json string from reader at this point like that:
/// string js= reader.ReadStringToEnd();
Run Code Online (Sandbox Code Playgroud)
我不想获取所有序列化字符串,我需要转换器目标的数据。
前任:
{................................ {"Id":3,"Name":"MyExpando1"} }
小智 5
我的做法是使用 JObject 并将读取器加载到 JObject 中,如下所示:
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
JObject jObject = JObject.Load(reader);
var dictionary = serializer.Deserialize<Dictionary<string, object>>(jObject);
}
Run Code Online (Sandbox Code Playgroud)