JSON & jsonlite

Importera data på mellannivå i R

Filip Schouwenaars

Instructor, DataCamp

JSON-objekt

{"id":1,"name":"Frank","age":23,"married":false}
name value
string string
number
boolean
null
JSON object
JSON array
Importera data på mellannivå i R

JSON-objekt

{"id":1,"name":"Frank","age":23,"married":false}
x <- '{"id":1,"name":"Frank","age":23,"married":false}'

r <- fromJSON(x)
str(r)
List of 4
 $ id     : int 1
 $ name   : chr "Frank"
 $ age    : int 23
 $ married: logi FALSE
Importera data på mellannivå i R

JSON-array

JSON
[4, 7, 4, 6, 4, 5, 10, 6, 6, 8]
fromJSON('[4, 7, 4, 6, 4, 5, 10, 6, 6, 8]')
4  7  4  6  4  5 10  6  6  8
JSON
[4, "a", 4, 6, 4, "b", 10, 6, false, null]
fromJSON('[4, "a", 4, 6, 4, "b", 10, 6, false, null]')
"4"  "a"  "4"  "6"  "4"  "b"  "10"  "6"  "FALSE"  NA
Importera data på mellannivå i R

JSON-nästling

{
    "id": 1,
    "name": "Frank",
    "age": 23,
    "married": false,

"partner": { "id": 4, "name": "Julie" }
}
Importera data på mellannivå i R

JSON-nästling

r <- fromJSON('{"id":1,"name":"Frank","age":23,
      "married":false,"partner":{"id":4,"name":"Julie"}}')

Rstr(r)
List of 5
 $ id     : int 1
 $ name   : chr "Frank"
 $ age    : int 23
 $ married: logi FALSE
 $ partner:List of 2
  ..$ id  : int 4
  ..$ name: chr "Julie"
Importera data på mellannivå i R

JSON-array med JSON-objekt

[
    {"id":1, "name":"Frank"}, 
    {"id":4, "name":"Julie"},
    {"id":12, "name":"Zach"}
]
RfromJSON('[{"id":1, "name":"Frank"}, 
            {"id":4, "name":"Julie"},
            {"id":12, "name":"Zach"}]')
  id  name
1  1 Frank
2  4 Julie
3 12  Zach
Importera data på mellannivå i R

Andra jsonlite-funktioner

  • toJSON()

  • prettify()

  • minify()

Importera data på mellannivå i R

Nu kör vi en övning!

Importera data på mellannivå i R

Preparing Video For Download...