R 教程
1. R 语言教程 2. R 环境安装 3. R 基础语法 4. R 注释 5. R 基础运算 6. R 数据类型 7. R 判断语句 8. R 循环 9. R 函数 10. R 字符串 11. R 列表 12. R 矩阵 13. R 数组 14. R 因子 15. R 数据框 16. R 包 17. R CSV 文件 18. R Excel 文件 19. R XML 文件 20. R JSON 文件 21. R MySQL 连接 22. R 绘图 – 饼图 23. R 绘图 – 条形图 24. R 绘图 – 中文支持 25. R 绘图 – 函数曲线图 26. R 绘图 – 散点图 27. Java 中操作 R

R JSON 文件

R JSON 文件

JSON: JavaScript Object Notation(JavaScript 对象表示法)。

JSON 是存储和交换文本信息的语法。

JSON 类似 XML,但比 XML 更小、更快,更易解析。

如果你对 JSON 还不了解,可以先查阅:JSON 教程

R 语言读写 JSON 文件需要安装扩展包,我们可以在 R 到控制台输入以下命令来安装:

install.packages("rjson", repos = "https://mirrors.ustc.edu.cn/CRAN/")

查看是否安装成功:

> any(grepl("rjson",installed.packages()))

[1] TRUE

创建 sites.json 文件,json 文件与测试脚本同一目录下,代码如下:

实例

{ "id":["1","2","3"], "name":["Google","","Taobao"], "url":["www.google.com","www..com","www.taobao.com"], "likes":[ 111,222,333] }
接下来我们可以使用 rjson 包来载入 json 文件的数据。

查看数据,某一行使用 [ ], 指定的行和列使用 [[ ]]:

实例

# 载入 rjson 包
library("rjson")

# 获取 json 数据
result <- fromJSON(file = "sites.json")

# 输出结果
print(result)

print("===============")

# 输出第 1 列的结果
print(result[1])

print("===============")
# 输出第 2 行第 2 列的结果
print(result[[2]][[2]])

执行以上代码输出结果为:

$id

[1] "1" "2" "3"



$name

[1] "Google" "" "Taobao"



$url

[1] "www.google.com" "www..com" "www.taobao.com"



$likes

[1] 111 222 333



[1] "==============="

$id

[1] "1" "2" "3"



[1] "==============="

[1] ""

我们也可以使用 as.data.frame() 函数将 json 文件数据可以转为数据框类型,这样我们就更方便对数据进行操作:

实例

# 载入 rjson 包
library("rjson")

# 获取 json 数据
result <- fromJSON(file = "sites.json")

# 转为数据框
json_data_frame <- as.data.frame(result)

print(json_data_frame)

执行以上代码输出结果为:


  id   name            url likes

1  1 Google www.google.com   111

2  2  www..com   222

3  3 Taobao www.taobao.com   333