在R中读取json文件:词法错误:json文本中的无效char

时间:2016-12-06 16:22:58

标签: json r rcurl jsonlite

以下是我正在使用的代码示例:

library(jsonlite)
library(curl)

#url
url = "http://www.zillow.com/search/GetResults.htm?spt=homes&status=001000&lt=000000&ht=010000&pr=999999,10000001&mp=3779,37788&bd=0%2C&ba=0%2C&sf=,&lot=0%2C&yr=,1800&singlestory=0&hoa=0%2C&pho=0&pets=0&parking=0&laundry=0&income-restricted=0&pnd=0&red=0&zso=0&days=36m&ds=all&pmf=0&pf=0&sch=100111&zoom=6&rect=-91307373,29367814,-84759521,35554574&p=1&sort=globalrelevanceex&search=maplist&rid=4&rt=2&listright=true&isMapSearch=true&zoom=6"

#json
results_data_json = fromJSON(txt = url)

我曾经能够运行类似的代码而没有任何问题。现在我收到以下错误:

Error in feed_push_parser(buf) : 
  lexical error: invalid char in json text.
                                   <html><head><title>Zillow: Real
                 (right here) ------^

有关于此的任何想法吗?

3 个答案:

答案 0 :(得分:1)

我也不能复制错误。

class(results_data_json)
[1] "list"

我的会话信息:

R version 3.3.2 (2016-10-31)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7600)

locale:
[1] LC_COLLATE=Spanish_Colombia.1252  LC_CTYPE=Spanish_Colombia.1252    LC_MONETARY=Spanish_Colombia.1252
[4] LC_NUMERIC=C                      LC_TIME=Spanish_Colombia.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] curl_2.4     jsonlite_1.1

loaded via a namespace (and not attached):
[1] tools_3.3.2

答案 1 :(得分:1)

这发生在我从一个文件中读取json。代码工作了一天,然后第二天我收到了这个错误。我最终能够绕过错误,虽然我不明白为什么我的解决方案有效。首先,我发现了一个建议添加readLines()函数的github帖子。例如。

r_object <- fromJSON(readLines("file.json"))

当我这样做时,json正确加载但我收到了以下警告:

Warning message:
In readLines("file.json") : incomplete final line found on 'file.json'.

然后,由于没有特别的原因,我尝试在JSON的底部添加一行。在最后一个花括号之后只是一个空行。并修复了它。不知道为什么。如果有人知道为什么会这样,请发表评论。

答案 2 :(得分:-2)

作为:R 3.2.2: "rjson" and "RJSONIO" package installed, but error using "fromJSON"

  

单独安装软件包并不足够。你需要加载   库也...使用库(rjson)或库(RJSONIO)或...依赖   在调用其中的任何函数之前,您喜欢哪个包。