2013-04-02 25 views
5

當我嘗試從Facebook URL中的字符對象中解析JSON時,我得到「fromJSON(data)中的錯誤:意外轉義字符'pos'130處的'o'。看看這個:如何替換R中的「意外轉義字符」

library(RCurl) 
library(rjson) 
data <- getURL("https://graph.facebook.com/search?q=multishow&type=post&limit=1500", cainfo="cacert.perm") 
fbData <- fromJSON(data) 
Error in fromJSON(data) : unexpected escaped character '\o' at pos 130 

#with RSONIO also error 
> fbData <- fromJSON(data) 
Erro em fromJSON(content, handler, default.size, depth, allowComments, : 
invalid JSON input 

有沒有辦法在我試圖解析JSON之前替換這個'\ o'字符?我試過gsub,但沒有奏效(或者我做錯了什麼)。

datafixed <- gsub('\o',' ',data) 
Error: '\o' is an unrecognized escape sequence in string starting with "\o" 

有人可以幫我用這個嗎?謝謝。

+2

嘗試'GSUB( '\\ O', '',數據)' –

+0

感謝@ Matthew Plourde –

回答

3

您需要在您的模式中轉義\

嘗試

gsub('\\o',' ',data) 
+0

感謝@Matthew和geektrader 在您的幫助下,我能夠替換'\ o'和'\ m',但是現在我得到「Error in from JSON(datafixed2):unexpected character:p」 datafixed3 < - gsub('\\:p','',datafixed2) fbData < - fromJSON(datafixed3) fromJSON(datafixed3)中的錯誤:意外字符:p –

+0

fbData < - fromJSON(datafixed6) Erro em fromJSON(datafixed6):unexpected character:p –

1

你可以做

fbData <- fromJSON(data,unexpected.escape = "keep") 

,你會看到一個警告

Warning message: 
In fromJSON(individual_page, unexpected.escape = "keep") : 
unexpected escaped character '\m' at pos 10. Keeping value. 

,如果你願意,你可以使用抑制

suppressWarnings(fromJSON(data,unexpected.escape = "keep")) 
警告

unexpected.escape:更改對意外轉義字符的處理。處理值應該是「錯誤」,「跳過」或「保持」之一。出乎人們意料的字符發出一個錯誤,跳過 字符,或保留字符

你可以在這裏找到更多的細節 - http://cran.r-project.org/web/packages/rjson/rjson.pdf