2017-12-18 17 views
1

オブジェクトへのJSON文字列の逆シリアル化処理中にマッピングを実行できますか?.NET Core - Json.NETデシリアライゼーションマッピング

var resultObject = JsonConvert.DeserializeObject<ConfigItemGetResult>(result); 

JSON文字列は、逆シリアル化したいオブジェクトとは異なります。マッピングが行われなければなりません。私は1対1をJSON文字列にマップし、オブジェクトからオブジェクトへのマッピング(例:AutoMapper)を行うモデルの作成を避けようとしています。

答えて

0

あなたのシリアル化のマッピングここで

public class JsonTest 
{ 
    [JsonProperty(PropertyName = "SomePropNameFromJson")] 
    public string SomeProp { get; set; } 
    [JsonProperty(PropertyName = "SomeNested")] 
    public SomeClass SomeClass { get; set; } 
} 
    public class SomeClass 
    { 
     public SomeClass1 SomeClass1 { get; set; } 
    } 

    public class SomeClass1 
    { 
      public string text { get; set } 
    } 

JSON

{ "SomeProp" を設定するための使用Serialization Attributes: "値"、 "SomeNested":{ "SomeClass1":{ "テキストを" : "textvalue" } }

Js変換時にテキストをオブジェクトに変換しようとすると、名前でプロポーショナルに名前を付けて反射します。テキストにプロットの名前がある場合は値をとります。プロップの名前がJSONで異なる場合は、[JsonProperty(PropertyName = "SomeNested")] attrはデフォルトでは設定されていません。それはプロペラ名で取得しようとします。何のプロパティであれ、オブジェクト(ネストされたオブジェクト)または基本タイプであれば、自動的に変換しようとします。

+0

これはネストされたプロパティaswelで動作しますか? – user2963570

+0

@ user2963570、確かに – itikhomi

+0

例を挙げることはできますか? – user2963570