2016-02-09 2 views
-2

Я пытаюсь запросить объект JSON с использованием библиотеки подчеркивания, но я не могу запросить структуру JSON ниже. Переменная $ scope.conScopeFreqStartDates имеет значение JSON ниже.Запросить объект JSON?

Я передаю значение «frequencyCodeInput», которое имеет «Y» в сценарии подчеркивания.

[ 
     { 
      "consolidationScopeId": 4008, 
      "consolidationScopeCode": "S", 
      "consolidationScopeLabel": "Individual", 
      "frequencies": [ 
      { 
       "frequencyCode": "M", 
       "frequencyLabel": "Monthly", 
       "startDates": [ 
        "2016-01-31", 
        "2016-02-28" 
       ] 
      }, 
      { 
       "frequencyCode": "Y", 
       "frequencyLabel": "Annual", 
       "startDates": [ 
        "2016-12-31", 
        "2017-12-31" 
       ] 
      } 
      ] 
     }] 

Я пытаюсь получить StartDates от объекта JSON,

контроллера

var startDates = _.findWhere($scope.conScopeFreqStartDates, { 
         'frequencies.frequencyCode': frequencyCodeInput 
     }).startDates; 

     $scope.startDates = startDates; 

'StartDates' не определен для моей выше коды.

+0

Не уверен, что именно то, что вы спрашиваете здесь. Вы можете запросить объект JSON следующим образом: 'object [" key "]' Зачем вам нужен Underscore? – birdoftheday

+0

он хочет получить значение startDates для частоты, которая имеет частотный код, равный frequencyCodeInput. [] .filter() выполнит задание, подчеркивание может иметь метод, который может облегчить его. –

+0

Я реализую нечто похожее на это «http://stackoverflow.com/questions/34883332/how-to-query-a-json-object». Но не удалось запросить мою структуру JSOn, которую я опубликовал выше. – SGN

ответ

1

Я бы назвал _.findWhere на массиве частот на вашем объекте, а не весь объект

var startDates = _.findWhere($scope.conScopeFreqStartDates.frequencies, { 
      'frequencyCode': frequencyCodeInput 
     }).startDates; 

     $scope.startDates = startDates; 
+0

Это очень помогло мне. Спасибо Скотту. – SGN

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