Как получить значения внутри объекта, полученные через Json

#c# #javascript #jquery #.net #json

#c# #javascript #jquery #.net #json

Вопрос:

Я использую .NET MVC4

Я использовал функцию javascript, как показано ниже:

 function ShowDomainComponentDetail(compCode) {
        alert(compCode);
        $.ajax({
            url: "/PP/getDomainComponentDetailWithDomain",
            data: {
                'ComponentCode': compCode
            },
            dataType: "json",
            type: 'POST',
            cache: false,
            success: function (_responseData) {
                $('#divShowDomainCompDetail').show();
                alert(_responseData.Data)

            },
            error: function () {
                //
            }
        });
    }
  

После успеха я получаю список в .net как:

 IdObservation=1, ObservationName="Started" , ObsType="Announced";
IdObservation=2, ObservationName="Not Started" , ObsType="Un Announced";
IdObservation=3, ObservationName="Declared" , ObsType="Announced";
  

Моя проблема в том, что я не могу получить доступ к этому списку внутри блока успеха Ajax.

Как я могу получить доступ к этому списку как:

 alert(_responseData.IdObservation);
alert(_responseData.ObservationName);
  

(Далее я собираюсь присвоить это меткам).

Пожалуйста, помогите мне.

РЕДАКТИРОВАТЬ 1 :

Моя серверная функция возвращает список:

 public JsonResult getDomainComponentDetailWithDomain(string ComponentCode)
        {
            try
            {
                List<TEAMS_PP.Entity.correlations> compDetail_list = new correlation().getDomainComponentDetailswithDomain(ComponentCode);
                return Json(compDetail_list);
            }
            catch (Exception)
            {
                List<TEAMS_PP.Entity.correlations> BlankList = new List<TEAMS_PP.Entity.correlations>();
                return Json(BlankList);
            }
        }
  

Комментарии:

1. Как вы возвращаете список с сервера?

2. @James plz посмотрите на EDIT1

3. Круто было просто убедиться, что вы отправляете его обратно правильно, ваш результат — простой массив объектов (вы можете увидеть это, если используете отладчик). Смотрите ответ @ Bhushan ниже.

4. @James Да, этот ответ сработал!!! Спасибо, что уделили время моему вопросу 🙂

Ответ №1:

Используйте индекс с объектом данных, как показано ниже:

 alert(_responseData[0].IdObservation);
  

перебирайте объект и получайте значения для каждого объекта.

Комментарии:

1. тумача свагат ахе 🙂

Ответ №2:

вы можете использовать $each для его итерации

 $.each(_responseData, function (key, value) {
                        var arr = value.IdObservation;
                    });