使用R下载和解析JSON的方法

569 阅读2分钟

在这篇文章中,我们将学习如何使用R编程语言下载和解析JSON。

JavaScript Object Notation被称为JSON。这些文件有文本形式的数据,可供人类阅读。JSON文件是开放的,可以像其他文件一样进行阅读和写作。必须安装 "rjson "包,以便在R中处理JSON文件。

在R中运行下面的命令来安装rjson包。

install.packages("rjson")

读取JSON文件

R中的JSON文本被包围在大括号中,周围有字符串。rjson包中的fromJSON() 方法用于将JSON数据转换为文本字符串,并默认以字符串列表的形式返回数据。它在参数中接受JSON文件作为输入。每个键成为标题,它们所对应的值在行号下显示为字符串。这个方法执行JSON数据的反序列化。它将数据转换为一个等价的R对象。

语法: fromJSON(json-file)

R

# Importing rjson library
library("rjson")
# 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 76

$Branch
[1] "Commerce"    "Science"     "Humanities"  "Non-medical" "Humanities"

将JSON文件转换成一个数据框架

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

语法:as.data.frame(list)

R

# Import rjson package
library("rjson")
# 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)

输出。

[1] "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

在R中下载JSON

在JSON数据被转换为数据框架后,可以使用R中的**write.csv()**方法将数据框架写入CSV文件中。如果提供的是数据框架对象,它将被复制到相应的位置。然后可以在本地工作空间内轻松地查看它。R语言中的write.csv()方法有以下语法。

语法:write.csv(data, path)

参数 :

data- 要写入CSV文件的数据。
path- CSV要存储的路径。

R

# Importing rjson library
library("rjson")
# 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)
# Writing data into csv file
write.csv(data_frame,
"/Users/mallikagupta/Desktop/json_download.csv")

输出。

上述代码的输出是一个CSV文件,它被存储在参数中给出的位置("/Users/mallikagupta/Desktop/json_download.csv")。

Download and parse JSON Using R