0
这是我的自定义JSON转换器的一部分:如何在ReadJson方法中从JsonReader获取所有字符串?
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();
我不想让所有的序列化的字符串,我需要转换的目标的数据。
例:
{....................... { “ID”:3, “名”: “MyExpando1”}}
我想你可以只用'词典<字符串,对象>'做到这一点,因为这是一个expando对象本质上 – Icepickle
不,它不起作用,因为我可以通过JObject.Load(reader)获取数据,但是当我尝试向我terate JObject并填充我的DynamicObject(Expando)。主要问题是铸造问题。 var j = JObject.Load(reader); var expando = new Expando(); foreach(j中的var项) {expando.SetProperty(item.Key,item.Value)// TypeCastingException} – ozz
难道你不能只是阅读(在你的转换器里面,如果你愿意的话):'var dictionary = serializer。反序列化>(reader);'然后遍历字典的键? –
Icepickle