2
私はとてもとしてinnerDictionaryとinnermostClassとouterDictionaryにDeserializeObjectしたいJSONを持っている:デシリアライズネストされたJSON文字列とクラス
var entityMap = JsonConvert.DeserializeObject<Dictionary<string, Dictionary<string, fieldClass>>>(File.ReadAllText("map.json"));
しかし、innerDictionaryは文字列を持っていることがあります。文字列の代わりに文字列:innerMostClass。
{
"Client": {
"__class__": "contact",
"ClientId": {
"__field__": "new_ndisclientid",
"__type__": "string"
},
"GivenName": {
"__field__": "firstname",
"__type__": "string"
},
},
"Case": {
"__class__": "contact",
"CaseId": {
"__field__": "new_ndiscaseid",
"__type__": "string"
}
}
}
これを行う方法はありますか?私はそのすべてをクラスにしたくありません。
これはカスタムJsonConverterで可能ですか?
EDIT:わかりやすくするために、classnameをentityNameに変更しました。 ClientIdとGivenNameは、fieldClassesにデシリアライズされます。
別の内部クラスを使用する場合は代わりに内部クラス
の対象とすることができ、可能なら。クラスにメソッドを持たせ、Visual Studioに動的データ型にIntelliSenseがないようにしたい。 –
ダイナミックではなくクラスで回答を更新 – Abhay
ルートをクラスにすることは別の方法です。しかし、私はそれが辞書/リストでなければならないと思うルートは常にクライアントではないかもしれません。それは、異なる内部クラスを持つが、同じフィールドを持つケースと言うことができます。私は元の投稿JSONを更新して、私が何を意味するのかを示しました。 –