jsonlite突然返回错误:“从对端接收数据失败”

Posted

技术标签:

【中文标题】jsonlite突然返回错误:“从对端接收数据失败”【英文标题】:jsonlite suddenly retunring error: "Failure when receiving data from the peer" 【发布时间】:2018-07-09 14:28:00 【问题描述】:

突然,在周末,我的代码不再工作。

当我运行它时,我收到以下消息:

parse_con(txt, bigint_as_char) 中的错误: 接收对端数据失败

代码如下:

raiz      <- "https://olinda.bcb.gov.br/olinda/servico/Expectativas/versao/v1/odata/"
tipo      <- "ExpectativaMercadoMensais?%24format=json&%24select="
indicador <- "Indicador,Data,DataReferencia,Mediana,numeroRespondentes"
restricao <- "&%24orderby=Data%20desc&%24filter=Indicador%20eq%20'IPCA'&%24top=10"

library("jsonlite")
jsonlite::fromJSON(paste0(raiz,tipo,indicador,restricao), simplifyVector = FALSE)

【问题讨论】:

这很奇怪,但它正在使用 rjson 【参考方案1】:

jsonlite用来读取网站的GET函数有问题。请改用readLines

raiz      <- "https://olinda.bcb.gov.br/olinda/servico/Expectativas/versao/v1/odata/"
tipo      <- "ExpectativaMercadoMensais?%24format=json&%24select="
indicador <- "Indicador,Data,DataReferencia,Mediana,numeroRespondentes"
restricao <- "&%24orderby=Data%20desc&%24filter=Indicador%20eq%20'IPCA'&%24top=10"

library("jsonlite")
web <- readLines(paste0(raiz,tipo,indicador,restricao), warn = FALSE)
df <- jsonlite::fromJSON(web, simplifyVector = FALSE)

我没听懂您的问题,但我们有一个可行的方法:

web <- readLines("https://olinda.bcb.gov.br/olinda/servico/Expectativas/versao/v1/odata/ExpectativasMercadoInflacao12Meses?$format=json", warn = FALSE)
df <- fromJSON(web)
df$value   

【讨论】:

以上是关于jsonlite突然返回错误:“从对端接收数据失败”的主要内容,如果未能解决你的问题,请参考以下文章

该站点突然返回 System.Data.OleDb.OleDbException:未指定错误可能是啥?

MySQL 数据库突然丢失,返回默认值,没有错误或警告

r JSON到CSV转换器。使用`jsonlite` R包,展平所有层次结构并将所有剩余的列表/数组转换为strin

Azure Functions 突然找不到入口点错误

GCM 的 API 密钥突然失效?未经授权的 (401) 错误

R读取json数据