派生リストのリストをJSON.NETでシリアライズする方法が見つからず、それが可能かどうか疑問に思っています。いくつかのコードで状況を説明しましょう。私は、私のコードでは、派生リストのリストをシリアライズ
public class GroupeActes : List<Acte>
{
public string NomGroupe { get; set; }
public GroupeActes(string nom, List<Acte> liste)
{
NomGroupe = nom;
foreach (var acte in liste)
{
this.Add(acte);
}
}
}
その後:
私は(一般的なもので最初に試してみました)特定のオブジェクトのリストから派生した新しいクラスを作成し、文字列プロパティNomGroupe
を追加しましたこのクラス(List<GroupeActes> listOfGroupeActes
)のリストを宣言しました。私はそれをデータで埋めます。私はとTypeNameHandling.All
パラメータなしとJson.netプロパティのいくつかの組み合わせであってものDataContract/DataMemberプロパティを試してみた
JsonSerializer serializer = new JsonSerializer();
serializer.TypeNameHandling = TypeNameHandling.All;
using (StreamWriter sw = new StreamWriter(@"listOfGroupeActes.json"))
using (JsonWriter writer = new JsonTextWriter(sw))
{
serializer.Serialize(writer, listOfGroupeActes);
}
:直列化のために、私はこのコードを使用します。
これまでのところ、自分のjsonファイルには、NomGroupe
プロパティを含まないネストされた各データList<Acte>
のいずれか、またはその逆のいずれかを取得することしかできませんでした。しかし、私はそれを望んでいます。その後、
つの質問:
- はそれも可能ですか?
- はいの場合、どうすればいいですか?
ありがとうございました!
JsonConvert.SerializeObject()を使用できませんか? – gmn
いいえ、問題は悲しいことに同じです。 'NomGroupe'プロパティは無視されます。 – LaPointe
[JSONはクラスを継承するプロパティを直列化する](https://stackoverflow.com/questions/35439335)のように見えるか、または[から派生したクラスのメンバーをjson.netでシリアル化するにはどうすればよいですか? ](https://stackoverflow.com/questions/21265629)、いずれも回避策があります。 –
dbc