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