2014-11-01 33 views
0

我想在r導入選項鍊JSON文件,谷歌提供了這個鏈接:谷歌期權鏈API - RJSON

http://www.google.com/finance/option_chain?q=NASDAQ:GOOG&output=json 

R讀取正確的JSON的原始數據,但似乎無法正確解碼值。 這裏是我的代碼:

library(RJSONIO) 
library(RCurl) 
raw_data <- getURL("http://www.google.com/finance/option_chain?q=NASDAQ:GOOG&output=json") 
data <- fromJSON(raw_data) 

我已經看到了,並試圖在參數中的所有其他人的話題,似乎沒有在這裏工作。 在此先感謝。

回答

1

這是因爲Google以其無限的智慧不會將引號中的鍵名括起來,所以返回的JSON格式不正確。您需要將引號添加回去

library(RJSONIO) 
library(RCurl) 
raw_data <- getURL("http://www.google.com/finance/option_chain?q=NASDAQ:GOOG&output=json") 
raw_data <- gsub("(\\w+)\\s*:",'"\\1":',raw_data) # enclose keys in double quotes 
data <- fromJSON(raw_data) 

BTW:有一個在包quantmod一個getOptionChain(...)功能是直接從雅虎財經的這一數據,但它並不總是工作。你也應該知道谷歌已經宣佈停止他們的財務API,所以這將不一定在未來。

+0

謝謝您的答覆,並建議對於** ** getOptionChain,我已經用它自去年以來,最近它已經成爲完全不可靠的,這就是爲什麼我在尋找一種替代。 – GrilloRob 2014-11-02 10:23:01