--- lang: ja-jp breaks: true --- # Newtonsoft.Json 複数のコンストラクタがあるクラスをデシリアライズする `[Newtonsoft.Json.JsonConstructor]` 2021-12-19 ```csharp= public class Sample002 { private string m_name; [Newtonsoft.Json.JsonConstructor] public Sample002( string name ) : base() { this.m_name = name; } public Sample002( public Sample002( ) : base() { this.m_name = org.m_name; } public string Name { get { return this.m_name; } protected set { this.m_name = value; } } } ``` :::info 上記クラスの場合、コンストラクタに`[Newtonsoft.Json.JsonConstructor]`属性を付加しないとデシリアライズ出来ない。 ::: ```csharp= Formatting formatting = Formatting.Indented; string json = JsonConvert.SerializeObject(sample002, formatting); Console.WriteLine(json); var settings = new JsonSerializerSettings { }; var dec = JsonConvert.DeserializeObject<Sample002>(json, settings); Console.WriteLine(JsonConvert.SerializeObject(dec, formatting)); ``` ###### tags: `Newtonsoft.Json` `[Newtonsoft.Json.JsonConstructor]` `C#` `デシリアライズ`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up