Как отформатировать вывод JSON из ASP.NET MVC 2 - PullRequest
0 голосов
/ 09 декабря 2010

Я использовал приведенный ниже код для генерации данных JSON.

[HttpGet]
    public ActionResult MarketList()
    {
        var mkt = db.GetDailyList();
        return Json(mkt, JsonRequestBehavior.AllowGet);
    }

Теперь он возвращает JSON в формате ниже;

[{"gainers":"CAP","date":"Dec  9 ","Open":30.87,"Close":32.41,"change":1.54},{"gainers":"AP","date":"Dec  9 ","Open":20.00,"Close":21.00,"change":1.00}]

я хочу вернуть данные в следующем формате JSON;

[{"dailygainers":{"gainers":"CAP","date":"Dec  9 ","Open":30.87,"Close":32.41,"change":1.54}},{"dailygainers":{"gainers":"AP","date":"Dec  9 ","Open":20.00,"Close":21.00,"change":1.00}}]

Как я могу сделать это, используя MVC 2, пожалуйста?

Спасибо

Ответы [ 2 ]

1 голос
/ 14 декабря 2011

, но для всех, кто сталкивается с этой проблемой, я должен был сделать нечто подобное, и я использовал Linq, чтобы сделать это.

Итак, вы называете новый var именем контейнера, и он должен это сделать!

var formatedList = (new {dailygainers = db.GetDailyList()});
0 голосов
/ 09 декабря 2010

Изменить действие на JsonResult.Я использую этот фрагмент того, что я использовал в прошлом.Имейте в виду, я использовал это для динамического заполнения выпадающего списка.

Домашний контроллер

[HttpGet]
public JsonResult GetSubjects(string term)
{
    IEnumerable<Textbook> subjects = _repository.GetSubjects(term);
    return Json(subjects, JsonRequestBehavior.AllowGet);
}

Просмотр

<p>
<label for="Subject">Subject</label>
<select name="Subject" id="Subject"></select>
</p>

jQuery

$("#Term").change(function () {
    var term = $("#Term > option:selected").attr("value");
    var items = "<option>Select</option>";
    $.getJSON(host + "/Home/GetSubjects/" + term, function (data) {
        $.each(data, function (i, d) {
            items += "<option value='" + d.Subject + "'>" + d.Subject + "</option>";
        });
        $("#Subject").html(items);
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...