Как проанализировать динамически изменяющийся json в angularjs

#angularjs

#angularjs

Вопрос:

У меня есть динамически изменяющийся json, как в приведенных ниже примерах

Пример 1:

 "Flower":{
        "color": "red"     
}
  

Пример 2:

 "Flower":{
        "color": "red" ,
         "seasonal": "yes"    
}
  

Пример 3:

 "Flower":{
        "color": "red" ,
         "seasonal": {
              "seasons":{
                       "winter": "yes",
                         "summer" : "no"  
                        }        
                     }    
          } 
  

и для приведенных выше примеров вывод должен быть следующим

 example1 : color:red
example2 :color:red,seasonal:yes
example3: color:red,seasonal.seasons.winter:yes,seasonal.seasons.summer:no
  

Проблема здесь в том, что я не знаю, что приходит каждый раз, это должен быть выходной формат. Мне нужна какая-то часть логики этого в javascript: (

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

1. Если вы действительно понятия не имеете, какой будет структура, вы можете использовать рекурсию.

Ответ №1:

Angular предоставляет такие функции, как isObject и isString, которые сообщат вам, является ли переменная объектом или строкой.

Вы можете выполнить итерацию по свойствам вашего объекта и проверить, является ли свойство объектом или строкой. Если это объект, то вы можете повторно использовать свойства этого объекта, иначе просто распечатайте его. Проверьте ниже.

 $scope.iterate = function(object) {
if (!angular.isObject(object))
  return object;
var opt = "";
for (var property in object) {
  if (object.hasOwnProperty(property)) {
    opt = opt   property   " - "   $scope.iterate(object[property])   " ";
  }
}
return opt;
}
  

Вы также можете взглянуть на эту скрипку здесь, у нее есть рабочее решение приведенного выше кода.

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

1. Огромное спасибо за практику