私はDTOをフォローしています
public class Foo
{
public ServiceStack.Text.JsonObject Bar { get; set; }
}
Foo.Bar
他の3つのDTOのうちの1つにすることができます
私のコードのどこかで、Foo.Bar
具体的なDTOにマップ/変換/逆シリアル化したいと思います(ServiceStack.Text.JsonObject
興味深いことにSystem.Collection.Generic.Dictionary<string, string>
、非文字列として送信された値は、文字列ServiceStack.Text.JsonObject
として私のインスタンスに入ります)。
だから私は試しました
ServiceStack.Text.JsonExtensions.JsonTo<ConcreteDTO>(foo.Bar, ???)
ただし、2番目のパラメーターとしてキーセレクターが必要です。ただし、単一の値を変換するのではなく、インスタンス全体を使用します。
があることも知っていますがServiceStack.Text.JsonExtensions.ConvertTo<T>(JsonObject jsonObject, Func<JsonObject, T> convertFn)
、ハンドコードされたjsonObjectを変換したくありません。
では、どうすればこれを解決できますか?
EDIT:
Just to be clear - I do not want to go the detour and serialize the JsonObject
-instance to a json-string just to deserialize it ... Is there any direct deserialization option from JsonObject
?