JsonObject to Json records - формат вывода
Я использую API CryptoCompare, чтобы получить подробную информацию о символах шифрования; вывод такой, как показано ниже, с вложенным JSON - мне нужно преобразовать в записи с указанным ниже форматом:
{
"ETH":{
"USD":{
"FROMSYMBOL":"Ξ",
"TOSYMBOL":"$",
"MARKET":"CryptoCompare Index",
"PRICE":"$ 117.74",
"LASTUPDATE":"Just now",
"LASTVOLUME":"Ξ 0.01000",
"LASTVOLUMETO":"$ 1.17",
"LASTTRADEID":"44473885",
"VOLUMEDAY":"Ξ 340,510.0",
"VOLUMEDAYTO":"$ 39,874,960.0",
"VOLUME24HOUR":"Ξ 418,836.6",
"VOLUME24HOURTO":"$ 49,126,029.4",
"OPENDAY":"$ 118.40",
"HIGHDAY":"$ 119.29",
"LOWDAY":"$ 114.48",
"OPEN24HOUR":"$ 117.99",
"HIGH24HOUR":"$ 119.50",
"LOW24HOUR":"$ 114.12"
}
}
}
Мне нужно сгенерировать вывод, как показано ниже - Отдельная запись для каждого символа: Отображение - каждый узел валюты NODE - добавляется как поле "Sym", например, "ETH" Узел теперь "Sym": "ETH"; остальные поля находятся в прямом направлении от внутреннего узла "USD"
{
"Sym":"ETH",
"PRICE":"$ 117.74",
"LASTTRADEID":"44473885",
"VOLUMEDAY":"Ξ 340,510.0",
"VOLUMEDAYTO":"$ 39,874,960.0",
"VOLUME24HOUR":"Ξ 418,836.6"
}
Используемый код:
import com.crypto.cryptocompare.api.CryptoCompareApi
import com.google.gson.Gson
import com.google.gson.GsonBuilder;
object cryptoComapreMultiSCryptoPriceGson extends App{
val gson = new Gson()
val api = new CryptoCompareApi();
//val response = api.priceMulti("ETH,DASH","BTC,USD,EUR", new Nothing() {})
val m = new java.util.LinkedHashMap[String,Object]
m.put("extraParams", "TestProject")
val response = api.priceMultiFull( //to get priceMultiFull
"ETH,DASH,BTC",
"USD",
m)
//val jsonRec = gson.toJsonTree(response)
println(response.get("DISPLAY"))
}
Любые указатели или помощь?