Open In App

Convert R objects to/from JSON in jsonlite

Improve
Improve
Like Article
Like
Save
Share
Report

In this article, we are going to know how to convert R objects to/from JSON in jsonlite using the R programming language.

jsonlite package

The jsonlite package in R is used to simulate the conversion to and from the JSON data objects in R. It can be converted easily to other data objects. The package can be downloaded and installed into the R working space using the following command.

install.packages("jsonlite")

Parse JSON in R

The JSON text in R is enclosed within the curly braces surrounded by string. The fromJSON() method in the rjson package is used to convert the JSON data into a text string. Each key becomes the header and the values to which they correspond are displayed as strings under the row numbers. This method performs the deserialization of the JSON data. It converts the data into an equivalent R object. The method has the following syntax :

Syntax: fromJSON(json-text)

Parameter :

json-text – JSON content or file name.

R




# Importing jsonlite
library("jsonlite")
# Declaring the json text
json_text <- '{
    "ID": ["1", "2", "3", "4", "5"],
    "User_name": ["A", "B", "C", "D", "E"],
    "Marks": [34, 64, 24, 68, 76],
    "Branch": ["Commerce", "Science",
"Humanities", "Non-medical", "Humanities"]
}'
# Reading the json text
data <- fromJSON(json_text)
  
# Printing json data
print("JSON data")
print(data)


Output:

[1] "JSON data"
> print(data)
$ID
[1] "1" "2" "3" "4" "5"
$User_name
[1] "A" "B" "C" "D" "E"
$Marks
[1] 34 64 24 68 76
$Branch
[1] "Commerce"    "Science"     "Humanities"  "Non-medical" "Humanities"

Convert JSON text into a data frame

The JSON text can also be converted to a data frame. The R object can be used to visualize data in a much more organized tabular structure. After the conversion of the JSON text, it can be subjected to the as.data.frame() method which coerces it into a data frame object. The keys of the JSON text are displayed as column headers of the data frame and the values are the cell values.

Syntax: as.data.frame(data)

Parameter:

data – Data to be converted into data frame

R




# Importing jsonlite
library("jsonlite")
# declaring the json text
json_text <- '{
    "ID": ["1", "2", "3", "4", "5"],
    "User_name": ["A", "B", "C", "D", "E"],
    "Marks": [34, 64, 24, 68, 76],
    "Branch": ["Commerce", "Science",
"Humanities", "Non-medical", "Humanities"]
}'
# reading the json text
data <- fromJSON(json_text)
  
# converting data into data frame
data_frame <- as.data.frame(data)
print("JSON dataframe")
print(data_frame)


Output:

  ID User_name Marks      Branch
1  1         A    34    Commerce
2  2         B    64     Science
3  3         C    24  Humanities
4  4         D    68 Non-medical
5  5         E    76  Humanities

Convert data objects into the JSON text object

The toJSON() method can be used to convert the data objects into the JSON text object. The method has the following syntax : 

Syntax: toJSON(R-object-text)

Parameters : 

R-object-text – The data contained in R object.

R




# Importing rjson
library(rjson)
# creating a data frame
data_frame <- data.frame(col1=c(1: 5),
                          col2=letters[1:5],
                          col3=c("Commerce",
                                 "Humanities",
                                 "CSE",
                                 "Commerce",
                                 "Humanities")
                          )
# printing the data frame
print("Data Frame")
print(data_frame)
# converting to json object
json_obj = toJSON(data_frame)
# printing the json
print("JSON")
print(json_obj)


Output:

[1] "Data Frame"
 col1 col2       col3
1    1    a   Commerce
2    2    b Humanities
3    3    c        CSE
4    4    d   Commerce
5    5    e Humanities
[1] "JSON"
[1] "{\"col1\":[1,2,3,4,5],\"col2\":[\"a\",\"b\",\"c\",\"d\",\"e\"],\"col3\":[\"Commerce\",\"Humanities\",\"CSE\",\"Commerce\",\"Humanities\"]}"

Convert list objects into JSON data

The list objects can also be coerced to the JSON data strings by the toJSON() method. It may even be a multi-level list. 

Syntax: toJSON(data)

Parameter:

data – data to be converted into JSON data.

R




# Importing jsonlite
library(jsonlite)
# creating a data frame
list_obj <- list(ob1=c(1: 3),
                  ob2="Yashika",
                  ob3=c(TRUE, FALSE),
                  ob4=list(ele1="x",
                           ele2="y"))
print("List")
print(list_obj)
# converting to json object
json_obj = toJSON(list_obj)
# printing json
print("JSON")
print(json_obj)


Output:

[1] "List" 
$ob1 
[1] 1 2 3  
$ob2 
[1] "Yashika"  
$ob3 
[1]  TRUE FALSE  
$ob4 
$ob4$ele1 
[1] "x"  
$ob4$ele2 
[1] "y"
[1] "JSON" 
[1] "{\"ob1\":[1,2,3],\"ob2\":\"Yashika\",\"ob3\":[true,false],\"ob4\":{\"ele1\":\"x\",\"ele2\":\"y\"}}"


Last Updated : 16 Sep, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads