我有下面的代碼,在按鈕上單擊我做ajax調用c#控制器。我還需要將一些值傳回給控制器。解析json數組數據
var array = JSON.stringify(myArrayList);
$.ajax({
type: "POST",
dataType: 'json',
data: {
'type': vm.myType,
'mod': vm.myMod,
'ar' : array
},
url: rootDir + "/Home/GetData",
success: function (data) {
console.log(data);
},
error: function (xhr, status, error) {
console.log("Error");
}
});
而且在我的C#控制器我有:
[HttpPost]
public IActionResult GetData(string type, string mod, string ar)
{
//I can get type and mod but having issues in getting my array data
}
我陣列的數據如下:
[{"id":"1","name":"John"},{"id":"2","name":"Steve"}]
在我的循環我要搶是和名稱值。我
JArray v = JArray.Parse(ar);
,但不能循環嘗試,但並獲取值
更新時間:
我認爲有問題的json數組,因爲這些我不能得到的值的JSON數組在我的C#控制器。
當我調試我的Java腳本陣列具有值是這樣的:
Array(2)
0 Object
id: "1"
name: "John"
1 Object
id: "2"
name: "Steve"
後,我用Json.stringify如下:
var array = JSON.stringify(myArrayList);
現在在我的C#控制器我得到的結果字符串爲:
[{"id":"1","name":"John"},{"id":"2","name":"Steve"}]
這我覺得是不正確的,因爲當我使用下面的代碼: dynamic stuff = JObject.Parse(ar);
它拋出錯誤:
'Error reading JObject from JsonReader. Current JsonReader item is not an object:
看到我更新的問題。看起來我的陣列沒有正確構建。在我如何向我的控制器發送數據時是否存在一些問題 – user1563677