整理下之前的笔记,发现当年在杭州还写过r解析json的东西,直接复制代码了,懒得搞~
rjson
# Ref: http://www.dataguru.cn/article-3537-1.html
# install.packages("rjson")
library(rjson)
getwd()
# fromJSON() 从JSON到R ------------------------------------------------------
json_data <- fromJSON(file = "./Rjson&RJSONIO/js.json",method = "C")#C调用C库,更快
#被解析成为list存在在空间中
summary(json_data )
# toJSON() 从R到JSON --------------------------------------------------------
json_str <- toJSON(json_data)
print(json_str)
cat(json_str)#不包含转义符打印
names(json_str)
# 把JSON输出到文件 --------------------------------------------------------------
writeLines(json_str, "./Rjson/js_out.json")
detach("package:rjson")#移除包
(.packages())
names(json_data)
names(I(fromJSON(file = "./Rjson&RJSONIO/js.json",method = "C")))
I(json_data)
RJSONIO
# Ref: http://www.dataguru.cn/article-3537-1.html
# RJSONIO包开发,是解决了rjson包序列化大对象慢的问题。RJSONIO依赖于底层的C语言类库libjson。
# install.packages("RJSONIO")
library(RJSONIO)
getwd()
# fromJSON() 从JSON到R -----------------------------------------------------
json_data <- fromJSON(file = "./Rjson&RJSONIO/js.json",method = "C")#C调用C库,更快
json_data
# toJSON() 从R到JSON --------------------------------------------------------
json_str<-toJSON(json_data)
cat(json_str) #按照原来格式输出打印
# 把JSON输出到文件 --------------------------------------------------------------
writeLines(json_str, "./Rjson/js_out2.json")
# isValidJSON() 验证JSON是否合法 ------------------------------------------------
isValidJSON(json_str,asText = T)#asText = T指定前面的json的内容