web-dev-qa-db-ja.com

RでJSONファイルを読み取る:字句エラー:JSONテキスト内の無効な文字

私が使用しているコードの例を次に示します。

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) ------^

これに関するアイデアはありますか?

14
ultimate8

これは、ファイルからjsonを読み込むときに起こりました。コードはある日機能し、翌日、このエラーが発生しました。私のソリューションが機能する理由がわかりませんが、最終的にエラーを回避することができました。最初に、readLines()関数の追加を提案するgithubの投稿を見つけました。例えば。

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

これを行うと、jsonは正しくロードされましたが、次の警告が表示されました。

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

次に、特に理由もなく、JSONの下部に追加の行を追加しようとしました。最後の中括弧の後の空白行。そしてそれはそれを修正しました。理由はわかりません。これがなぜ機能したかを誰かが知っている場合は、コメントをお寄せください。

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
gonzalez.ivan90