2016-03-20 5 views
0

В настоящее время я работаю над проблемой отправки данных JSON в My Controller.JSON.stringify игнорирует вложенный объект

Я узнал, что при передаче объекта, который содержит вложенный, вложенный объект будет иметь значение NULL. Я не могу понять, что я не хватает ...

Мой серверный выглядит следующим образом:

[HttpPost] 
public ActionResult ApplyChanges(List<Change> pChanges) 
{ 
    //the Issue occurs here in every object of pChanges: 
    //IgnoreFlag was populated correctly, but the Detection Object is null...? 
} 

public class Change 
{ 
    public Detection Detection { get; set; } 
    public bool IgnoreFlag { get; set; } 
} 

Мой стороне клиента выглядит следующим образом:

var data = [ 
    { 
    "Detection": { 
    "PropertyOld": 1, 
    "PropertyNew": 2, 
    }, 
    "IgnoreFlag": true 
    }, 
    { 
    "Detection": { 
    "PropertyOld": 3, 
    "PropertyNew": 4, 
    }, 
    "IgnoreFlag": false 
    } 
] 

$.ajax({ 
    type: "POST", 
    url: "/Url/To/ApplyChanges", 
    data: JSON.stringify({"pChanges": data}), 
    contentType: "application/json", 
    success: function (data, textStatus, jqXHR) { 
    //do something here 
}); 

Может кто-то помочь мне решить Эта проблема?

+0

попробовать не stringify, просто передать, как это –

+0

Спасибо за ваш ответ. Я попробовал, но это не сработает. Тот же результат .. – Alan

+0

Ничего не игнорируется, когда я 'JSON.stringify' ваш объект. https://jsfiddle.net/qz3vp6gx/ –

ответ

1

использование

JSON.stringify(data) 

вместо использования

JSON.stringify({"pChanges": data}) 
Смежные вопросы