MVC4 コントローラー ルートに渡したい複雑な JSON オブジェクトがあります。
{
"name": "Test",
"description": "Description",
"questions": [
{
"id": "1",
"type": "1",
"text": "123",
"answers": [
{
"answer": "123",
"prerequisite": 0
},
{
"answer": "123",
"prerequisite": 0
}
],
"children": [
{
"id": "2",
"type": "2",
"text": "234",
"answers": [
{
"answer": "234",
"prerequisite": 0
},
{
"answer": "234",
"prerequisite": 0
}
],
"children": []
}
]
}
]
これらのViewModelを定義しました:
public class FormDataTransformContainer
{
public string name { get; set; }
public string description { get; set; }
public QuestionDataTransformContainer[] questions;
}
public class QuestionDataTransformContainer {
public int type { get; set; }
public string text { get; set; }
public AnswerDataTransformContainer[] answers { get; set; }
public QuestionDataTransformContainer[] children { get; set; }
}
public class AnswerDataTransformContainer {
public string answer { get; set; }
public int prerequisite { get; set; }
}
そして、これは私が打っているルートです:
[HttpPost]
public ActionResult Create(FormDataTransformContainer formData)
{
現在、FormDataTransformContainer の名前と説明のプロパティが設定されていますが、質問の配列は null です。データ バインディングが解決してくれることを願っていましたが、データ構造のツリーの性質が少し複雑であると思います。私が正しければ、これに対する最善の解決策は何ですか?