r语言 mysql json_R语言转换并保存json文件--使用jsonlite包

作者 钱亦欣

json是当下非常流行的数据交换格式,有着简单易用,易读(人和机器都容易)等特点。目前挺流行的非关系型数据库MongoDB就可以简单理解为一个json的容器,同时mysql(5.7以上版本),postgresql等关系型数据库也开始支持这一数据结构。因此,掌握关于json的一些知识很有必要,你可以访问它的官网来了解它的结构和在各种编程语言中的相应的库。

当然,身为一个统计专业的学生,我们接触到的数据很多时候还是结构化的DataFrame格式,如果你想把这一格式的存储转换为json格式,我在这里给大家推荐一个很好用的包--jsonlite。

jsonlite是专门用来转换,读取和保存json文件的R包,按照作者的描述,它提供了json和R中常用数据类型的双向转换功能,高效、简洁而且稳定。根据我的使用体验,也确实如此。闲言少叙,让我们进入正题。

1. 读取json文件

json文件的读取可以用read_json()函数实现,这个函数的第二个参数 simplifyVector 如果设置为TRUE,则json结构会被简化为向量,FALSE则会变为列表

2. json结构和R中原生数据结构的相互转换

(1)jsonlite包中的fromJSON函数就是把json结构的数据转换为R中常见数据类型的工具。与之相反,toJSON函数则是把R中原生的数据结构转变为json。具体的参数设定和二者的结构对应关系如下:

dc2feca7ba4c685779cebb7ab4fbece4.png

​我们来展开港一港:

Atomic Vectors

如果你的JSON结构本身就是一个简单的数组,那么用simplifyVector参数就能把它直接转换为向量

# JSON 简单数组

json

# 转换为向量

fromJSON(json)

[1] "Mario" "Peach" NA "Bowser"

如果把这个参数设置为false,那么就会转换为list。

fromJSON(json, simplifyVector

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值