私は、文字列(キー/値)、ここ(名前/頭字語)のペアを配列し、これらの5つのペアをループしようとしています。ASP.NET MVCにマルチレベルネストされたjsonデータを投稿
私のjqueryのアヤックスはこの1つである:
var vJson = {
"Guid": "ccda117f-a9b5-4f54-ab4a-07a9cf403ef7",
"Donnees":
{
"Shops":
[
{ "Name": "Shop1", "Acronym": "ACRO1" },
{ "Name": "Shop2", "Acronym": "ACRO2" },
{ "Name": "Shop3", "Acronym": "ACRO3" },
{ "Name": "Shop4", "Acronym": "ACRO4" }
]
}
};
$.ajax({
url:"https://www.mywebsite.net/api/Create",
data: vJson,
type:"POST",
dataType: 'json',
success: function(data) {
console.log(data);
}
}
);
私のC#のコントローラは
public class ShopController : Controller
{
[HttpPost]
public string Create(message postMessage)
{
string guid = postMessage.Guid;
(...)
}
}
オブジェクトは、私は、GUIDを求める際に、コントローラで
public class message
{
public string Guid { get; set; }
public shop Shops { get; set; }
}
public class shop
{
public string Name { get; set;}
public string Acronym { get; set;}
}
ですされ、コード内で完全に動作します。 しかし、私は要素の配列[Shop1/ACRO1, Shop2/ACRO2...
]の作成方法とこの配列をループする方法を知らないのですか?私はpostMessage.Donnees.Shops[0].Name.ToString
を試しましたが、成功しませんでした。私は私のコードでオブジェクトShopsを見逃していると思いますが、他のオブジェクトに挿入する方法はありますか?
私はある時点で、ディクショナリオブジェクトを作成する必要がありますが、どこでどのように行うのですか?
私の主な問題は、jsonのオブジェクトのネストされた配列です。さあ、誰かが私をトラックに乗せることができますか?本当に感謝しています!
'message'モデルには、' Shops'という名前のプロパティを含むモデルである 'Donnees'というプロパティ名が必要です。また、 'data:JSON.stringify(vJson)'と 'contentType: 'application/json''を追加する必要があります。 –
' message'クラスに 'Donnees'はありません。あなたはクライアントから送信しているjsonの同じ構造を反映するc#クラスを持つ必要があります。 –
http://json2csharp.com/のようなオンラインツールがあり、洞察を見るのに役立ちます –