Я пытаюсь получить простую страницу, чтобы извлекать данные из SQL Server через контроллер MVC с помощью Json.Net
(Извините за грязный код - моя дневная работа - это SQL Server Dev\DBA.)
контроллер:
dataAdapter.Fill(ds);
DataTable dt = ds.Tables[0];
string strjson = Newtonsoft.Json.JsonConvert.SerializeObject(dt);
return Json(strjson,JsonRequestBehavior.AllowGet);
Index.cshtml:
$.getJSON("/Test/MikeTest", {},
function (myData) {
alert(myData);
$.each(myData,function(key,data) {
alert(key + ":" + data);
})
вернулся JSON:
[{"DateTime":"2013-12-02T12:40:57.387","message":"simple test"}]
Когда я повторяю данные JSON, каждая итерация возвращает один символ, а не пары ключ/имя.
Предположительно, я делаю что-то нехорошее и не возвращаю/вводя данные правильно - любые простые указатели очень ценятся!
Ответ от $.getJSON, вероятно, является строкой, попробуйте использовать "JSON.parse", чтобы сделать ответ фактическим объектом.
Что-то вроде:
$.getJSON("/Test/MikeTest", {},
function (myData) {
alert(myData);
myDataObj = JSON.parse(myData);
$.each(myDataObj,function(key,data) {
alert(key + ":" + data);
})
});
console.log
вместоalert
для отладки объектов.