假设我有以下JSON数据:多行导入JSON数据,并转换为数据帧中的R
{ "_id" : { "$oid" : "string" }, "titulo" : "string", "id_cv" : 1132, "textos" : [ { "fecha" : { "$date" : 1217376000000 }, "estado" : "string", "texto" : "string", "source_url" : "string" } ] }
{ "_id" : { "$oid" : "string" }, "titulo" : "string", "autores" : ",\"string\",\"string\",\"string\",\"string",5", "id_cv" : 1138, "textos" : [ { "fecha" : { "$date" : 1217548800000 }, "estado" : "string", "texto" : "string", "source_url" : "string" } ] }
我试图导入至R JSON数据和在变换它至最终的R数据框架。
假设我有R中的下面的脚本:
library("rjson")
json_file <- "/Users/usr/file/json_data.json"
json_data <- fromJSON(paste(readLines(json_file), collapse=""))
data = unlist(json_data)
title=data[names(data)=="titulo"]
print(title)
text=data[names(data)=="textos.texto"]
print(text)
url=data[names(data)=="textos.source_url"]
print(url)
当运行该脚本JSON数据仅产生含有JSON数据文件的第一行的数据帧。我有大约200行。我知道的一个问题是JavaScript不允许多行字符串。我试图用这个来应对不同的方式:
- 添加到数据的每个‘行’结束““”数据的每个‘行’之间
- 添加。“””。
- 在每行数据之间添加“\”。
- 将“\”添加到每个“行”数据的末尾。
- 转换所有多行中的一行(替换“\ n”个用“\ n”个)
所有上述的使用正则表达式已经尝试。
我的问题是:我如何操作JSON数据,以便所有'行'的数据都被读入到R中,以便我可以将它们取消列表并构造相应的数据框,标题','文本','网址'和行等于JSON数据中的'行'?
我试图这样同时使用R中的RJSON & RJSONIO库,但我很矛盾的关于我当时正在使用哪一个,因为我相信最终的问题是使用JSON数据本身
的格式