Ich versuche, Daten von einer Web-API mit jsonlite
zu analysieren, aber aus irgendeinem Grund ist das Objekt, das es zurückgibt, eine Liste.Warum analysiert jsonlite Daten in ein Listenobjekt?
Es wird in der jsonlite
Paketdokumentation gesagt, dass der Vereinfachungsprozess JSON-Liste automatisch in eine spezifischere R-Klasse konvertiert, aber in meinem Fall funktioniert es nicht.
Es ist wie simplifyVector
, simplifyDataFrame
und simplifyMatrix
Funktion sind deaktiviert, aber jeder ist standardmäßig aktiviert.
Was ich möchte ist ein Datenframe zum Abrufen der $Name
Daten (EAC, EFL, ELC, etc.).
Ich versuche auch mit der rjson
Bibliothek, aber immer noch das gleiche Problem.
Irgendeine Idee, was könnte falsch sein?
Danke,
finden Sie den Code ich benutze:
raw <- getURL("https://www.cryptocompare.com/api/data/coinlist")
library(jsonlite)
data <- fromJSON(txt=raw)
> class(data)
[1] "list"
> typeof(data)
[1] "list"
> str(data)
[...]
..$ EAC :List of 13
.. ..$ Id : chr "4437"
.. ..$ Url : chr "/coins/eac/overview"
.. ..$ ImageUrl : chr "/media/19690/eac.png"
.. ..$ Name : chr "EAC"
.. ..$ CoinName : chr "EarthCoin"
.. ..$ FullName : chr "EarthCoin (EAC)"
.. ..$ Algorithm : chr "Scrypt"
.. ..$ ProofType : chr "PoW"
.. ..$ FullyPremined : chr "0"
.. ..$ TotalCoinSupply : chr "13500000000"
.. ..$ PreMinedValue : chr "N/A"
.. ..$ TotalCoinsFreeFloat: chr "N/A"
.. ..$ SortOrder : chr "100"
..$ EFL :List of 13
.. ..$ Id : chr "4438"
.. ..$ Url : chr "/coins/efl/overview"
.. ..$ ImageUrl : chr "/media/19692/efl.png"
.. ..$ Name : chr "EFL"
.. ..$ CoinName : chr "E-Gulden"
.. ..$ FullName : chr "E-Gulden (EFL)"
.. ..$ Algorithm : chr "Scrypt"
.. ..$ ProofType : chr "PoW"
.. ..$ FullyPremined : chr "0"
.. ..$ TotalCoinSupply : chr "21000000 "
.. ..$ PreMinedValue : chr "N/A"
.. ..$ TotalCoinsFreeFloat: chr "N/A"
.. ..$ SortOrder : chr "101"
..$ ELC :List of 13
.. ..$ Id : chr "4439"
.. ..$ Url : chr "/coins/elc/overview"
.. ..$ ImageUrl : chr "/media/19694/elc.png"
.. ..$ Name : chr "ELC"
.. ..$ CoinName : chr "Elacoin"
.. ..$ FullName : chr "Elacoin (ELC)"
.. ..$ Algorithm : chr "Scrypt"
.. ..$ ProofType : chr "PoW"
.. ..$ FullyPremined : chr "0"
.. ..$ TotalCoinSupply : chr "75000000"
.. ..$ PreMinedValue : chr "N/A"
.. ..$ TotalCoinsFreeFloat: chr "N/A"
.. ..$ SortOrder : chr "102"
.. [list output truncated]
$ Type : int 100
NULL
Ich stelle mir vor, dass 'fromJSON()' hat entschieden, dass diese Liste ist bereits in seiner einfachsten Form. Sie haben dort eine verschachtelte Liste. Wahrscheinlich müssen Sie den Rest der Arbeit selbst erledigen. –