私はこのモデルを持っています:
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public List<Color> Colors { get; set; }
}
public class Color
{
public int ColorId { get; set; }
public string Name { get; set; }
}
そしてasp.netMVCreturn Json(...)
は私にこれを与えます:
[{"Name":"JC","Age":24,"Colors":[{"ColorId":1,"Name":"Red"},{"ColorId":2,"Name":"Blue"}]},
{"Name":"Albert","Age":29,"Colors":[{"ColorId":2,"Name":"Blue"}]}]
次のタイプを返そうとすると:List<Person>
しかし、私はこのようなものが欲しいです(可能であれば):
{"People":[{"Name":"JC","Age":24,"Colors":[{"ColorId":1,"Name":"Red"},{"ColorId":2,"Name":"Blue"}]},{"Name":"Albert","Age":83,"Colors":[{"ColorId":2,"Name":"Blue"}]}]}
私の質問:
C#(asp.net mvc)が次のようなより良い形式でJSONを返すようにするにはどうすればよいですか:(注:データを無視してください。私の主なポイントは、メインコレクションとして「People」を使用して返すことです。どうすればよいですか。これ?JSON.net?)
{"People":[{"Name": "JC"、 "Age":24、 "Colors":[{"ColorId":1、 "Name": "Red"}、{"ColorId":2、 " Name ":" Blue "}]}、{" Name ":" Albert "、" Age ":83、" Colors ":[{" ColorId ":2、" Name ":" Blue "}]}]}
または、 KNOCKOUT.JS MAPPING PLUGINをこのタイプのJSON形式で機能させるにはどうすればよいですか?(ノックアウトを知っている人のために)
[{"Name": "JC"、 "Age":24、 "Colors":[{"ColorId":1、 "Name": "Red"}、{"ColorId":2、 "Name": "Blue "}]}、{"名前 ":"アルバート "、"年齢 ":29、"色 ":[{"色ID ":2、"名前 ":"青 "}]}]
更新(追加の説明/情報):
これは私のデータであり、リストを返したい
private List<Person> _people = new List<Person>
{
new Person
{
Name = "JC",
Age = 24,
Colors = new List<Color>
{
Red,
Blue,
}
},
new Person
{
Name = "Albert",
Age = 29,
Colors = new List<Color>
{
Blue
}
}
};
次のようなJSON形式で:
{"People":[{"Name":"JC","Age":24,"Colors":[{"ColorId":1,"Name":"Red"},{"ColorId":2,"Name":"Blue"}]},
{"Name":"Albert","Age":83,"Colors":[{"ColorId":2,"Name":"Blue"}]}]}
それが可能かどうか疑問に思っていますが、不可能な場合は、knockout.jsマッピングプラグインをMVCのjsonを返す方法に適応させるにはどうすればよいですか?