JSON & jsonlite

Intermediate Importing Data in R

Filip Schouwenaars

Instructor, DataCamp

JSON object

{"id":1,"name":"Frank","age":23,"married":false}
name value
string string
number
boolean
null
JSON object
JSON array
Intermediate Importing Data in R

JSON object

{"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
Intermediate Importing Data in 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
Intermediate Importing Data in R

JSON Nesting

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

"partner": { "id": 4, "name": "Julie" }
}
Intermediate Importing Data in R

JSON Nesting

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"
Intermediate Importing Data in R

JSON Array of JSON Objects

[
    {"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
Intermediate Importing Data in R

Other jsonlite functions

  • toJSON()

  • prettify()

  • minify()

Intermediate Importing Data in R

Let's practice!

Intermediate Importing Data in R

Preparing Video For Download...