Как составить список объектов JSON? - PullRequest
0 голосов
/ 17 марта 2010

Я использую asp.net mvc2 и пытаюсь отправить список объектов json с жестко закодированными значениями с домашнего контроллера и получить их в индекс .... в коде ниже я посылаю 1 объект JSON .... как я могу отправить много?

в домашнем контроллере:

public ActionResult JsonValue()
        { 
            var result = new 
            { 
                pID = 1, 
                pName = "Lina",
                pStart = "",
                pEnd = "",
                pColor = "ff0000",
                pLink = "",
                pMile = 0,
                pRes = "Brian",
                pComp = 0,
                pGroup = 1,
                pParent = 0,
                pOpen = 1
            };


            return Json(result,JsonRequestBehavior.AllowGet);
        }

и получить его в индексе следующим образом:

        var Jid = null;
        var Jname = null;
        var Jstart = null;
        var Jend = null;
        var Jcolor = null;
        var Jlink = null;
        var Jmile = null;
        var Jres = null;
        var Jcomp = null;
        var Jgroup = null;
        var Jparent = null;
        var Jopen = null;
        var Jtitle = null;
        var g = new JSGantt.GanttChart('g', document.getElementById('GanttChartDIV'), 'day');
        $(document).ready(function () {

            $.getJSON('../../Home/JsonValue', function (data) {
                Jid = data.pID;
                Jname = data.pName;
                Jstart = data.pStart;
                Jend = data.pEnd;
                Jcolor = data.pColor;
                Jlink = data.pLink;
                Jmile = data.pMile;
                Jres = data.pRes;
                Jcomp = data.pComp;
                Jgroup = data.pGroup;
                Jparent = data.pParent;
                Jopen = data.pOpen;
                Jtitle = '|id= ' + Jid + '|Name: ' + Jname + '|Start: ' + Jstart + '|End: ' + Jend;

            }); // end $.getJSON

спасибо за миллион заранее ... Lina

1 Ответ

1 голос
/ 17 марта 2010

добавьте их в массив и верните его (конечно, через вызов JSON).

лично я бы создал класс, а не анонимный объект, который у вас есть, а затем добавил бы в общий список, как только вы заполнили список, вы можете передать list.ToArray () в вызов Json. Я не пробовал, но вы можете передать список напрямую Json (я не уверен, что он создаст массив Json из общего списка).

редактировать

Похоже, что Json превратит любое перечисляемое в массив Json, так что я бы сказал, что вы можете передать общий список, позже я добавлю немного кода

код добавлен ниже.

Я ни на минуту не думаю, что вам следует кодировать List<object> лично, как объяснено, я бы создал класс для вашего анонимного объекта, чтобы вы могли его строго печатать. надеюсь, это даст вам идею, хотя

public ActionResult JsonValue()
        {
            List<object> jsonlist = new List<object>();
            jsonlist.Add(new
            {
                pID = 1,
                pName = "Lina",
                pStart = "",
                pEnd = "",
                pColor = "ff0000",
                pLink = "",
                pMile = 0,
                pRes = "Brian",
                pComp = 0,
                pGroup = 1,
                pParent = 0,
                pOpen = 1
            });

            jsonlist.Add(new
            {
                pID = 1,
                pName = "Lina",
                pStart = "",
                pEnd = "",
                pColor = "ff0000",
                pLink = "",
                pMile = 0,
                pRes = "Brian",
                pComp = 0,
                pGroup = 1,
                pParent = 0,
                pOpen = 1
            });

            return Json(jsonlist,JsonRequestBehavior.AllowGet);
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...