当我尝试从URL
中的JSON格式文件中提取数据时,我遇到了一些问题当我使用:jsonlite
等级= jsonlite :: fromJSON(" url.json&#34) open.connection出错(con," rb"):HTTP错误403。
当我使用RJONIO时
等级= RJSONIO :: fromJSON(" url.json&#34) fromJSON中的错误(content,handler,default.size,depth,allowComments ,: 无效的JSON输入
当我使用rjson时
等级= rjson :: fromJSON(" url.json&#34) rjson :: fromJSON中的错误(" url.json"): 意想不到的性格' h'
它能是什么?如何修复和提取数据?
谢谢
答案 0 :(得分:2)
我刚与jsonlite有类似的问题,所以我想我会分享。
merge
Error in open.connection(con, "rb") : HTTP error 400.
。
答案 1 :(得分:1)
rjson
包对我来说完全没问题。您可以做的最简单的事情是向您的API发送查询:
rjson::fromJSON(file = 'query to your API')
以下是OSRM路由计算机查询的工作示例,该计算机返回瑞士两点之间的路由。
rjson::fromJSON(file = 'http://router.project-osrm.org/viaroute?loc=47,8&loc=47.3,8.5')
结果是您可以直接存储或使用的列表。以下示例为您提供这两点之间的旅行时间。
rjson::fromJSON(file = 'http://router.project-osrm.org/viarouteloc=47,8&loc=47.3,8.5')$route_summary$total_time
只要您的查询正确,就应该开展工作。
根据您的情况,最好先尝试阅读一些行,因为您正在阅读的文件似乎很大。
line1 <- rjson::fromJSON(readLines("http://s3.amazonaws.com/databritanica/crimenesLocaciones.json", n = 1))
非常适合我。 n
方法中的参数readLines
指定要读取的行数。