R Language
JSON
Ricerca…
JSON da / per oggetti R
Il pacchetto jsonlite
è un parser e generatore JSON veloce ottimizzato per dati statistici e web. Le due funzioni principali utilizzate per leggere e scrivere JSON sono rispettivamente fromJSON()
e toJSON()
e sono progettate per funzionare con vectors
, matrices
e data.frames
e flussi di JSON dal Web.
Crea un array JSON da un vettore e viceversa
library(jsonlite)
## vector to JSON
toJSON(c(1,2,3))
# [1,2,3]
fromJSON('[1,2,3]')
# [1] 1 2 3
Creare un array JSON con nome da un elenco e viceversa
toJSON(list(myVec = c(1,2,3)))
# {"myVec":[1,2,3]}
fromJSON('{"myVec":[1,2,3]}')
# $myVec
# [1] 1 2 3
Strutture di lista più complesse
## list structures
lst <- list(a = c(1,2,3),
b = list(letters[1:6]))
toJSON(lst)
# {"a":[1,2,3],"b":[["a","b","c","d","e","f"]]}
fromJSON('{"a":[1,2,3],"b":[["a","b","c","d","e","f"]]} ')
# $a
# [1] 1 2 3
#
# $b
# [,1] [,2] [,3] [,4] [,5] [,6]
# [1,] "a" "b" "c" "d" "e" "f"
Crea JSON da un data.frame
e viceversa
## converting a data.frame to JSON
df <- data.frame(id = seq_along(1:10),
val = letters[1:10])
toJSON(df)
# [{"id":1,"val":"a"},{"id":2,"val":"b"},{"id":3,"val":"c"},{"id":4,"val":"d"},{"id":5,"val":"e"},{"id":6,"val":"f"},{"id":7,"val":"g"},{"id":8,"val":"h"},{"id":9,"val":"i"},{"id":10,"val":"j"}]
## reading a JSON string
fromJSON('[{"id":1,"val":"a"},{"id":2,"val":"b"},{"id":3,"val":"c"},{"id":4,"val":"d"},{"id":5,"val":"e"},{"id":6,"val":"f"},{"id":7,"val":"g"},{"id":8,"val":"h"},{"id":9,"val":"i"},{"id":10,"val":"j"}]')
# id val
# 1 1 a
# 2 2 b
# 3 3 c
# 4 4 d
# 5 5 e
# 6 6 f
# 7 7 g
# 8 8 h
# 9 9 i
# 10 10 j
Leggi JSON direttamente da internet
## Reading JSON from URL
googleway_issues <- fromJSON("https://api.github.com/repos/SymbolixAU/googleway/issues")
googleway_issues$url
# [1] "https://api.github.com/repos/SymbolixAU/googleway/issues/20" "https://api.github.com/repos/SymbolixAU/googleway/issues/19"
# [3] "https://api.github.com/repos/SymbolixAU/googleway/issues/14" "https://api.github.com/repos/SymbolixAU/googleway/issues/11"
# [5] "https://api.github.com/repos/SymbolixAU/googleway/issues/9" "https://api.github.com/repos/SymbolixAU/googleway/issues/5"
# [7] "https://api.github.com/repos/SymbolixAU/googleway/issues/2"
Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow