如何在R中替换“意外逃脱的角色”

时间:2013-04-02 15:30:27

标签: r facebook-graph-api gsub rjsonio rjson

当我尝试从Facebook URL中解析角色对象中的JSON时,我得到了“来自jSON(数据)的错误:意外转义字符'\ o'at pos 130”。看看这个:

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 个答案:

答案 0 :(得分:3)

您需要在模式中转义\

尝试

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

答案 1 :(得分: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