1
我有以下Json-如何使用Scala獲取json中所有元素的總和?
"disks" : [ {
"name" : "v2.16",
"diskAggregate" : "aggr0",
"diskRPM" : 15000,
"totalSizeBytes" : 1077477376,
"vendorId" : "NETAPP ",
"usedBytes" : 1070071808,
"diskType" : "FCAL",
"uuid" : "4E455441:50502020:56442D31:3030304D:422D465A:2D353230:32353836:30303030:00000000:00000000",
"portName" : "FC:A ",
"raidGroup" : "rg0"
},
{
"name" : "v4.16",
"diskAggregate" : "aggr0",
"diskRPM" : 15000,
"totalSizeBytes" : 1077477376,
"vendorId" : "NETAPP ",
"usedBytes" : 1070071808,
"diskType" : "FCAL",
"uuid" : "4E455441:50502020:56442D31:3030304D:422D465A:2D353230:32353633:34333030:00000000:00000000",
"portName" : "FC:B ",
"raidGroup" : "rg0"
}]
我想除了usedBytes的從JSON數組「盤」的所有JSON對象。 我在Scala中試過了它,但沒有得到期望的輸出結果。 這裏是我的代碼 -
val datastoreCapacity = disks
val usableSpace = datastoreCapacity.foldLeft(0L) {
case (sumOfUsedSpace, esxDevice) =>
val sumOfTotalBytesOnStorageDevice = esxDevice.datastores.foldLeft(0L) {
case (totalBytesOnDevice, datastore) =>
// totalBytesOnDevice + ut..getOrElse(0L).toString.toLong
val sum = datastore.utilization.foldLeft(0L) {
case (total,util) =>
total + util.usedBytes.getOrElse(0L).toString.toLong
}
}
sumOfUsedSpace + sumOfTotalBytesOnStorageDevice
}
我怎麼總使用Scala的使用的字節?
它將只遍歷數據存儲..如何訪問「利用率」內的關鍵? – Vishwas 2014-10-10 16:06:44
@Vish你是什麼意思的'利用'?如果你想完整的答案,你應該發佈數據模型類 – roterl 2014-10-11 06:25:57
@Vishwas看我的編輯 – 2014-10-12 18:43:13