2016-05-10 3 views
0

У меня есть этот сервис вызова:JSON данные службы

 $http({ method: 'GET', url: '/api/html?conditionId=123&TypeId=100&countryId=1' }).success(function (data) { 
      var obj = JSON.parse(data); 
      alert(obj.ConditionId); 
     }) 

JSON, который возвращает выглядит что-то вроде этого .:

[{ "ConditionId": 123, "ConditionDescription": "TEXT ИДЕТ ЗДЕСЬ», "ErrorID": 0, "DisplayID": 0, "DisplayName": "", "ErrorValue": ""}]

Однако моя тревога всегда реагирует с неопределенным.

+1

Ваш ответ - массив. Вы обрабатываете его как объект. Вы должны сделать предупреждение (obj [0] .ConditionId) – yBrodsky

ответ

3

obj - массив, который вы рассматриваете как объект. Для того, чтобы получить доступ к этой области, вы должны использовать следующий синтаксис

obj[0].ConditionId

Причину вы получаете неопределенную потому, что ConditionId не является свойство массива. Он относится к предметам в пределах массива.

+0

Хорошо, это сработало - спасибо. Я буду думать глупо, если вы спросите об этом, но почему obj массив? – webdad3

+1

Веб-служба, с которой вы делаете запрос, возвращает JSON в виде массива объектов. В этом случае в массиве есть только один объект, поэтому вы используете 'obj [0]' для доступа к нему. Возвращенный ответ завернут в пару квадратных скобок '[]', это синтаксис, используемый для определения массива, тогда как синтаксис '{}' используется для определения объектов в JSON. – rperryng

+0

О да ... дух. Спасибо за ответ. Я соглашусь, как только это позволит мне. – webdad3

Смежные вопросы