С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 26.10.2017
Сообщений: 21

Вывод данных из JSON объекта с вложенными массивами

26.10.2017, 22:01. Показов 5108. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Прошу помощи в решении проблемы.
Есть JSON объект следующей структуры:
JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
var bigJson = {
    "jobArray": [
        {
            "brand": "Бренд 1",
            "number": "12345",
            "desc": "Название 1",
            "propArray": [
                {
                    "marka": "RENAULT",
                    "model": "Kangoo",
                    "year": "2003"
                },
                {
                    "marka": "CITROEN",
                    "model": "Berlingo",
                    "year": "2000"
                }
            ]
        },
        {
            "brand": "Бренд 2",
            "number": "67890",
            "desc": "Название 2",
            "propArray": [
                {
                    "marka": "FIAT",
                    "model": "Doblo",
                    "year": "1997"
                }
            ]
        }
    ]
}
Как вывести данные из "brand", "number", "desc" решил следующим способом:

JavaScript
1
2
3
4
5
6
var data = bigJson.jobArray
$(function(){
    $.each(data, function(){
        alert(this.brand + " " + this.number + " " + this.desc); 
    }); 
});
Не могу решить задачу как вывести кроме строки "brand" + "number" + "desc" еще данные из "propArray"?

То есть в результате должно получится:

Первый объект: Бренд 1 12345 Название 1, RENAULT Kangoo 2003, CITROEN Berlingo 2000
Второй объект: Бренд 2 67890 Название 2, FIAT Doblo 1997
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.10.2017, 22:01
Ответы с готовыми решениями:

вывод json объекта - undefined? в лог данные идут
получаю через сокет данные, в лог данные идут. вывести в div не получается, пишет undefined <script...

Вставка переменной при парсинге данных из объекта/или JSON
Здравствуйте! Имею: let address = "rMQ98K56yXJbDGv49ZSmW51sLn94Xe1mu1"; let line = "i.outcome.balanceChanges." +...

Массив с вложенными массивами. Обработка и вывод
Здравствуйте! Помогите пожалуйста разобраться с структурой массива. Не могу никак корректно организовать. Задание было такое: определить...

5
74 / 71 / 37
Регистрация: 10.09.2011
Сообщений: 169
26.10.2017, 22:16
Лучший ответ Сообщение было отмечено mrtoxas как решение

Решение

JavaScript
1
2
3
4
5
6
var data = bigJson.jobArray
$(function(){
    $.each(data, function(){
        alert(this.brand + " " + this.number + " " + this.desc + " " + this.propArray[0].marka + " " + this.propArray[0].model + " " + this.propArray[0].year); 
    }); 
});
alexanton, этот формат вывода данных постоянный? И задаёте его не вы?

Добавлено через 6 минут
Поправка. Проглядел, что может быть много элементов.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
var data = bigJson.jobArray
$(function(){
    $.each(data, function(){
        var s = "";
        for (var i = 0; i < this.propArray.length; i++) {
           s += this.propArray[i].marka + " " + this.propArray[i].model + " " + this.propArray[i].year;
          if (i != this.propArray.length - 1) {
             s += ", ";
          }
        }
        alert(this.brand + " " + this.number + " " + this.desc + " " + s); 
    }); 
});
1
0 / 0 / 0
Регистрация: 26.10.2017
Сообщений: 21
26.10.2017, 22:18  [ТС]
нет, это просто на быструю руку написано для представления того, что должно получится в итоге. В общем мне нужно выводить такую строку в некий div. В примере что Вы написали выводится только первая марка + модель + год, а мне нужно что бы все выводились. Их количество может быть разным для разных объектов
0
74 / 71 / 37
Регистрация: 10.09.2011
Сообщений: 169
26.10.2017, 22:22
Цитата Сообщение от alexanton Посмотреть сообщение
В примере что Вы написали выводится только первая марка + модель + год, а мне нужно что бы все выводились. Их количество может быть разным для разных объектов
Этот факт я исправил.
Но речь в вопросе идёт о том, могут ли изменяться названия каких-либо полей? Всегда ли массив внутри называется propArray?
1
0 / 0 / 0
Регистрация: 26.10.2017
Сообщений: 21
26.10.2017, 23:06  [ТС]
Да, массив внутри всегда называется propArray

Добавлено через 9 минут
Rashiran, Подскажите пожалуйста, как вместо способа вывода с помощью alert перенести эти данные в некий div id="result" или с помощью списка ul?

Добавлено через 33 минуты
Разобрался. Спасибо большое за помощь, Rashiran
0
566 / 465 / 183
Регистрация: 14.10.2017
Сообщений: 1,259
27.10.2017, 02:47
Цитата Сообщение от Rashiran Посмотреть сообщение
if (i != this.propArray.length - 1) {
s += ", ";
}
можно просто запятую поставить в начале строки:
JavaScript
1
s += ',' +  this.propArray[i].marka + " " + this.propArray[i].model + " " + this.propArray[i].year;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.10.2017, 02:47
Помогаю со студенческими работами здесь

Вывод содержимого объекта в JSON формат
В общем есть у меня объект, в котором есть поле, которое представляет из себя массив из 25 элементов другого объекта, у которого в свою...

Java, JSON и JSON Simple. Непонятка с созданием объекта JSON на сервере для отправки на фронт
Здравствуйте. Разрабатываю интернет-магазин на Java. Мне нужно на фронте получить список товаров из базы данных для отображения на...

Проблема получения строковых данных из JSON объекта
Привет. Столкнулся с проблемой получения строковых данных из JSON объкта Например в JSON есть данные: &quot;name_short&quot;:...

Вывод данных вложенного объекта из другого объекта
Добрый День! Хочу в одном объекте вывести текст который находится во вложенном объекте. Помогите ,пожалуйста, понять в чем ошибка. ...

Вывод данных через ajax с типом данных JSON
Если я из обработчика пишу это, выведет, как и ежу понятно, 1 кнопку. ... $res = mysqli_query($db, 'SELECT `podmenu_name` FROM...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru