前提・実現したいこと
オブジェクトをJsonにシリアライズしたいです。
発生している問題・エラーメッセージ
初歩的な質問なんですが、Json.netでオブジェクト(名前Personのモデルクラスのインスタンス)をJsonにシリアライズしたいのですが、出力すると「{}」しか出力されません。自分なりにvisual studioのブレークポイントを使って原因を調べてみたところ、モデルクラスのプロパティがなぜかnon-public membersになっており、これが原因でアクセスできないと考えました。しかしモデルクラスはすべてpublicアクセサをつけて定義しているのに、なぜnon-public membersと出てしまうのでしょうか。
該当のソースコード
C#
1//モデルクラスです。 2[JsonObject("person")] 3 public class Person 4 { 5 6 [JsonProperty("name")] 7 public string Name { get; set; } 8 [JsonProperty("password")] 9 public string Password { get; set; } 10 [JsonProperty("birthday")] 11 public string Birthday { get; set; } 12 [JsonProperty("gender")] 13 public int Gender { get; set; } 14 [JsonProperty("prefecture")] 15 public int Prefecture { get; set; } 16 } 17// 18//省略// 19//省略// 20//ボタンをクリックされたときに設定されてるイベントです。 21 public void SignUpClicked(object sender, EventArgs e) 22 { 23 var person = new Person() 24 { 25 //入力された情報をpersonクラスに代入してます。 26 Name = Model.User_Name, 27 Password = Model.Pass, 28 Birthday = BirthDay, 29 Gender = GenId, 30 Prefecture = PreId 31 }; 32 out_Json = JsonConvert.SerializeObject(person);//out_JsonにシリアライズされたJsonを代入してます。 33 34 DisplayAlert( 35 "info", string.Format("Value1: {0}",out_Json),"close"); 36 37 }
試したこと
一回personモデルクラスのプロパティーを自動実装を使用せずに実装しました。
補足情報(FW/ツールのバージョンなど)
visual studio 2018
xamarin.forms
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/10 09:09