整理下之前的笔记,发现当年在杭州还写过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的内容