我成功地从一个站点(内部公司)中提取了多个.json文件。要获取.json格式,我必须通过URL调用进行指定(例如'renderasJSON = TRUE')。正如我所说,该循环可以正常工作,并下载每个单独的文件(约500个)。但是,这些文件被写为原始JSON副字体。这引起了问题,因为任何与json相关的R pacakges(rjsonlite,RIOJSON等)都无法在这些文件上成功调用“ fromJSON”,特别是给出了相同的错误(此处为无效字符字节------- ^) 。我可以通过GET请求以不同的方式呈现页面来解决此问题,但我想知道是否有一种方法可以完成我的GET原始方法并以正确的格式存储.json文件。
我尝试了多种建议,但未成功。.将在“显示您的代码”部分中发布最新代码:
尝试... [这里] JSON parsing error, invalid character)
[这里] reading a json file in R: lexical error: invalid char in json text
[这里] Format JSON file in R: lexical error with character encoding
[这里] R: Handling error response in JSON format
我还尝试使用其他社区建议,例如..x <-fromJSON(toJSON(//没有成功。
dir.create('JSON')
links<-as.list(df$urls)
for(i in links){
try(GET
(url=I,
write_disk(file.path('JSON',basename(I))),
progress()
))
Sys.sleep(5)
}
#the above successfully pulls all files. I run a simple file.rename to
#append '.json' to the end of the files as they are pulled without a file
#extension.
#Attempt to run 'fromJSON' fails
library(jsonlite)
out <- lapply(files, function(fn) {
o <- fromJSON(file(fn), flatten = TRUE)
as.data.frame(o)$element$subdata$data
})
> lexical error: invalid bytes in UTF8 string.