У меня есть данные JSON, возвращаемые из вызова REST, которые я хочу проанализировать, добавить итоги, а затем выплюнуть массивы с новыми данными. У меня есть синтаксический анализ, цикл и добавление вычислений, и вы можете написать результаты на странице (см. Сообщение: json sibling data), но я хочу продолжить разбивку итогов. Вот JSON я начинаю с:новый массив javascript из возвращаемого JSON
{"ResultSet":{ "Result":[ { "file_size":"722694", "desc":"description1", "format":"GIF" }, { "file_size":"19754932", "desc":"description1", "format":"JPEG" }, { "file_size":"778174", "desc":"description2", "format":"GIF" }, { "file_size":"244569996", "desc":"description1", "format":"PNG" }, { "file_size":"466918", "desc":"description2", "format":"TIFF" } ] }}
Я получил его возвращение суммы по каждому отдельному «DESC» (см ответа: https://stackoverflow.com/a/13016615/1766026), но теперь я хочу, чтобы разбить его на один шаг дальше и показывают итоги для каждого "DESC" с каждым "формат", так что новый результат будет выглядеть следующим образом:
dESCRIPTION1: 444MB (222MB TIFF, 111MB GIF, 111MB JPEG)
dESCRIPTION2: 333MB (111MB PNG, 111 МБ TIFF, 111 МБ JPEG)
где не все возвращенные элементы имеют одинаковые форматы файлов.
(да, я знаю, что эти цифры не складываются из JSON - это просто пример)
Я думаю, это можно сделать, нажав на результаты в новый массив (ы) на основе на совпадающие элементы, затем повторяя это и выплевывая страницу.
Возможно, новый массив (ы)/объект (ы) будет выглядеть следующим образом?
{ "desc":"description1", "TIFF":"222", "GIF:"111", "JPEG:"111" }, { "desc":"description2", "PNG":"111", "TIFF:"111", "JPEG":"111" }
Я только что видел это: How do I create JavaScript array (JSON format) dynamically? Я думаю, это было бы одно место, чтобы начать?
(простите пожалуйста возможную неправильную терминологию - я в основном фронтальную работу и такого рода вещи довольно ново для меня - вежливая конструктивной критики с радостью приняла)
Я бы отметил, что в то время как ваш пример относительно тривиально, вы обращаетесь к обработке на клиенте, а не к серверу. Для этого могут быть веские причины, но если возможно вернуть серверу данные совокупности, это может сэкономить вам боль в долгосрочной перспективе. Это тот тип, на который рассчитан SQL, и, хотя он может быть выполнен на других языках, вы часто получаете большие сложные библиотеки для всех сценариев агрегации, если хотите, чтобы они были гибкими. – Basic
Это для веб-приложения, которое использует свой собственный REST API для вывода такой информации. Мы делаем большую часть отображения страницы, используя javascript/AJAX/JSON. Вся эта информация доступна через REST, поэтому мы можем использовать это, когда это возможно.Если это заканчивается слишком медленно, мы можем хорошо погрузиться в код на стороне сервера, чтобы выплюнуть некоторый HTML. Спасибо за ваш вклад. – mflorida
Я полностью понимаю - и очень люблю себя. Мои ребята из UI часто заканчивают тем, что просят «/ StatsBy/DocType», «/ StatsBy/Author» и т. Д. Именно по этой причине. В любом случае, добро пожаловать в SO. Надеюсь увидеть вас около – Basic