我有一些JSON數據從REST調用中返回,我想要解析,添加總計,然後用新數據吐出數組。我已經得到了解析,循環和添加計算,並且可以將結果寫入頁面(請參閱:帖子:json sibling data),但我想進一步細分總計。這裏是我開始用JSON:從返回的JSON新的JavaScript數組
{"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" } ] }}
我知道了返回爲每個不同的「遞減」的總數(看到答案:https://stackoverflow.com/a/13016615/1766026),但現在我想進一步打破它一步並顯示總計爲每一個 「遞減」,每個 「格式」,所以新的輸出將如下所示:
說明1:444MB(222MB TIFF,111MB GIF,111MB JPEG)
內容描述2:333MB(111MB PNG,111MB TIFF,111MB JPEG)
其中並非所有返回的項目都具有相同種類的文件格式。
(是的,我知道這些數字不從JSON加起來 - 這只是一個例子)
我想這可以通過推動的結果,一種新的基於陣列(S)來完成在匹配元素上迭代,然後吐出到頁面。
也許新的數組/對象看起來像這樣?
{ "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