首页 > 解决方案 > 从 API 请求中提取 json 内容时出错:错误:解析错误:过早的 EOF?

问题描述

我正在尝试从 API 检索数据,我返回的请求类型为“application/json”,但是当我尝试将内容提取为文本时,我得到一个空字符串,因此 fromJSON 命令也失败了。以下代码直到昨天才有效,但现在 API 中肯定发生了一些变化,我无法解决它。

这是原始 req$content 的样子的片段:

[1] fe ff 00 7b 00 0d 00 0a 00 20 00 20 00 22 00 40 00 6f 00 64 00 61 00 74 00 61 00 2e 00 63 00 6f 00 6e 00 74 00 65 00 78
  [41] 00 74 00 22 00 3a 00 22 00 68 00 74 00 74 00 70 00 73 00 3a 00 2f 00 2f 00 73 00 65 00 72 00 76 00 69 00 63 00 65 00 73
  [81] 00 2d 00 61 00 70 00 69 00 2e 00 6c 00 65 00 78 00 69 00 73 00 6e 00 65 00 78 00 69 00 73 00 2e 00 63 00 6f 00 6d 00 2f
 [121] 00 76 00 31 00 2f 00 24 00 6d 00 65 00 74 00 61 00 64 00 61 00 74 00 61 00 23 00 4e 00 65 00 77 00 73 00 22 00 2c 00 22

这是直到昨天才有效并且我正在尝试使用的代码:

content = jsonlite::fromJSON(content(req, "text"), 
       simplifyVector = FALSE)
Error: parse error: premature EOF
                      (right here) ------^

我也尝试了以下但没有成功:

dta <- req$content
dtan <- dta[!dta=='00']
dtanc <- rawToChar(dtan)
content = jsonlite::fromJSON(dtanc, simplifyVector = FALSE)
Error: lexical error: invalid char in json text.
                                       <fe><ff>{    "@odata.context":"
                     (right here) ------^

标签: rjsonparsingjsonlite

解决方案


推荐阅读