2015-07-10 89 views
2

我想導入j中的數據R. 我知道一些討論已經發布了關於這個主題,但不幸的是我沒有我想要的這些代碼的結果或他們有很多與我的錯誤文件。導入一些json數據

我想導入此: https://api.stocktwits.com/api/2/streams/symbol/AAPL.json 在R.

我想這樣做:

AAPLapi <- 'https://api.stocktwits.com/api/2/streams/symbol/AAPL.json' 

AAPLapi <- fromJSON(AAPLapi) 

AAPLapi <- lapply(AAPLapi, function(x) { 
    x[sapply(x, is.null)] <- NA 
    unlist(x) 
}) 

table=do.call("rbind", AAPLapi) 
View(table) 

但它具有行table=do.call錯誤....... 上週我不知道爲什麼,但是這條線是有效的,但我有一張很奇怪的表,那是錯的。

請問您能幫我嗎?

+0

請註明輸出'sessionInfo()'在你的問題中(或者至少包括你的操作系統,以及c的版本你正在使用的url和jsonlite包)。 – Thomas

回答

1

嘗試包jsonlite也許它會幫助你:

library("jsonlite") 
your_json <- stream_in(url("https://api.stocktwits.com/api/2/streams/symbol/AAPL.json")) 
str(your_json, max.level = 2) 
View(your_json$messages) 

如果你的JSON是一個.txt文件,你可以這樣做:

download.file(url = "https://api.stocktwits.com/api/2/streams/symbol/AAPL.json", destfile = "AAPL.txt") 
your_json <- stream_in(file("AAPL.txt")) 
+0

非常感謝你的工作! –

+0

非常感謝您使用.txt文件中的json! –

+0

不客氣! – Victorp

0

試試這個

library(curl) 
library(jsonlite) 
AAPLapi <- 'https://api.stocktwits.com/api/2/streams/symbol/AAPL.json' 
df=stream_in(curl(AAPLapi)) 
+0

謝謝,我在執行此操作時出錯: –

+0

df = stream_in(curl(AAPLapi)) 開啓捲曲輸入連接 1行... 將頁面綁定在一起(無自定義處理程序)。 關閉卷曲輸入連接。 警告消息: 在readLines(con,n = pagesize,encoding =「UTF-8」)中: 在https://api.stocktwits.com/api/2/streams/symbol/AAPL上找到的不完整最終行。 json' –

+0

我確實收到了一條警告消息,但這不是一條錯誤消息。 –