list - How to get sum of all elements in json using Scala? -


मैंने जेसन-

  "डिस्क" का पालन किया है: [{"name": " "V2.16", "डिस्क एग्रीगेट": "एग्रग्रेट", "डिस्कआरपीएम": 15000, "कुल साइज़बिट्स": 1077477376, "विक्रेता आईडी": "NETAPP", "उपयोग किए गए बिट्स": 1070071808, "डिस्कटाइप": "एफसीएएल", "यूयूआईड" : "एफसी: ए", "रेड ग्रुप": "आरजी 0"}, {"नाम": "वी 4": "4 ई 455441: 50502020: 56442 डी 31: 3030304 डी: 422 डी 465 ए: 2 डी 353230: 32353836: 30303030: 00000000: 00000000", "पोर्टनाम" "डिस्कएग्रेगेट": "एग्रग्रेट", "डिस्कआरपीएम": 15000, "कुल साइज़बिट्स": 1077477376, "विक्रेता आईडी": "नेटएपीपी", "उपयोग किए गए बिट्स": 1070071808, "डिस्कटाइप": "एफसीएएल", "यूयूआईडी": " 4 ई 455441: 50502020: 56442 डी 31: 3030304 डी: 422 डी 465 ए: 2 डी 353230: 32353633: 34333030: 00000000: 00000000 "," पोर्टनाम ":" एफसी: बी "," रेड ग्रुप ":" आरजी 0 "}]   

मैं जेएसएएन सरणी 'डिस्क' से सभी जेसन ऑब्जेक्ट्स में से इस्तेमाल किए गए बोट्स को जोड़ना चाहता हूं मैंने इसे स्काला में गुना से बाहर करने की कोशिश की लेकिन वांछित आउटपुट नहीं मिला। ;

  वैल datastoreCapacity = डिस्क वैल usableSpace = datastoreCapacity.foldLeft (0L) {मामले (sumOfUsedSpace, esxDevice) = & gt - यहाँ मेरी कोड है Val sumOfTotalBytesOnStorageDevice = esxDevice.datastores.foldLeft (0L) {मामला (कुलबीटेंऑनडिवाइस, डेटास्टोर) = & gt; // totalBytesOnDevice + ut..getOrElse (0L) .toString.toLong वैल योग = datastore.utilization.foldLeft (0L) {मामले (कुल, util) = & gt; कुल + util.usedBytes.getOrElse (0L) .toString.toLong}} sumOfUsedSpace + sumOfTotalBytesOnStorageDevice}   

मैं कैसे मिलता है उपयोग किए गए बाइट स्काला का उपयोग कर की कुल?

यह सोचते हैं कि डिस्क एक गेटर बुलाया लांग (के रूप में अपने कोड से पता चलता है) का विकल्प लौटने usedBytes साथ पहले से ही पार्स वस्तुओं की एक सूची है, यह क्या करना चाहिए :

  disks.map (_ usedBytes।) .flatten.sum   

कुछ स्पष्टीकरण:

  • साथ नक्शा हम दिए गए लैम्ब्डा फ़ंक्शन के साथ सभी वस्तुओं को बदलते हैं (जो अनिवार्य रूप से बस getter usedBytes को कॉल करता है)।

  • समतल सभी कोई भी s फ़िल्टर नहीं करता है और कुछ s के मान को छोड़ देता है सूची। (इसका इस्तेमाल सूचियों की सूची या वैक्टर आदि के आदि में भी किया जा सकता है।)

  • sum बस यही कहता है और वह टिप्पणी मुझे लगता है कि इसके बाद के संस्करण के डेटा के बावजूद, डिस्क का उपयोग एक विशेषता है मुझे नहीं पता कि यह कैसा दिखता है, और इसका क्या मतलब है क्योंकि वह आपके प्रश्न से स्पष्ट नहीं है, लेकिन अगर मुझे लगता है कि यह डिस्क के साथ फिर से सूची है तो फिर आप निम्नलिखित

      disks.flatMap (_। Utilization.map (_। UsedBytes .flatten)) .sum   

    कृपया निर्दिष्ट क्या डेटा कर सकता है आप पर प्रक्रिया करना चाहते हैं यदि यह नहीं है कि आप कहां तलाश करते हैं।

Comments

Popular posts from this blog

Out of index C/C++ -

regex - PatternSyntaxException: while using String.ReplaceAll function in java? -

java - Projects which are accessed via multiple (different) IDEs: Ant or Maven? -