R读取JSON

随着REST API越来越流行,JSON的使用也多了起来。我今天看看R如何读取JSON文件。
这个是我们今天要读取的JSON数据:

[
  {
    "Name": "Mario",
    "Age": 32,
    "Occupation": "Plumber",
    "Ranking": 3
  },
  {
    "Name": "Peach",
    "Age": 21,
    "Occupation": "Princess",
    "Ranking": 1
  },
  {
    "Ranking": 2
  },
  {
    "Name": "Bowser",
    "Occupation": "Koopa",
    "Ranking": 4
  }
] 

R里面读取JSON的包,使用比较多的是rjsonjsonlite,今天我们就来看看这两个包。

rjson

这个是我们读取用的script和结果。fromJSON读取的结果是一个list对象。读取完之后,就可以按照想要的操作继续了。

fromJSON( json_str, file, method = "C", unexpected.escape = "error", simplify = TRUE )
# 安装包
install.packages("rjson")
# 加载包
library(rjson)
# 读入JSON数据文件
jsonData <- fromJSON(file ="jsondata.json")

R读取JSON_第1张图片

jsonlite

jsonlite的优点是可以根据JSON文件的格式,自动把读取进了的JSON数据的list转为vector,data.frame, matrix。这是一个特别好的介绍这个package的文章。
https://cran.r-project.org/web/packages/jsonlite/vignettes/json-aaquickstart.html

fromJSON(
  txt,
  simplifyVector = TRUE,
  simplifyDataFrame = simplifyVector,
  simplifyMatrix = simplifyVector,
  flatten = FALSE,
  ...
)

因为我们的数据是一个对象的数组,默认读取进来就是data.frame了。

# 安装包
install.packages("jsonlite")
# 加载包
library(jsonlite)
# 读入JSON数据文件
jsonData <- fromJSON("jsondata.json")

R读取JSON_第2张图片

你可能感兴趣的:(R数据读写)