R语言 在jsonlite中把R对象转换为/从JSON的对象

R语言 在jsonlite中把R对象转换为/从JSON的对象

在这篇文章中,我们将了解如何使用R编程语言在jsonlite中把R对象转换为/从JSON。

jsonlite包

R中的jsonlite包用于模拟R中JSON数据对象的转换,它可以很容易地转换为其他数据对象。该包可以通过以下命令下载并安装到R工作空间中。

install.packages("jsonlite")

在R中解析JSON

R中的JSON文本被包围在大括号中,周围是字符串。rjson包中的fromJSON()方法被用来将JSON数据转换为文本字符串。每个键都成为标题,它们所对应的值在行号下显示为字符串。这个方法执行JSON数据的反序列化。它将数据转换为一个等价的R对象。该方法有以下语法。

语法: fromJSON(json-text)

参数:

json-text - JSON内容或文件名。

# 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)

输出:

[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 76Branch
[1] "Commerce"    "Science"     "Humanities"  "Non-medical" "Humanities"

将JSON文本转换为数据框架

JSON文本也可以转换为一个数据框架。R对象可以被用来在一个更有组织的表格结构中可视化数据。在转换完JSON文本后,可以用as.data.frame()方法将其胁迫成一个数据框架对象。JSON文本的键被显示为数据框架的列标题,值是单元格的值。

语法:as.data.frame(data )

参数

data – 要转换为数据框架的数据

# 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)

输出:

  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

将数据对象转换为JSON文本对象

toJSON()方法可以用来将数据对象转换成JSON文本对象。该方法的语法如下。

语法: toJSON(R-object-text)

参数:

R-object-text – 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)

输出:

[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\"]}"

将列表对象转换为JSON数据

列表对象也可以通过toJSON()方法被胁迫为JSON数据字符串。它甚至可以是一个多级的列表。

语法:toJSON(data )

参数:
data – 要转换为JSON数据的数据。

# 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)

输出:

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程