2013-04-02 23 views
5

Khi tôi cố phân tích cú pháp JSON khỏi đối tượng ký tự từ URL Facebook tôi nhận được "Lỗi inJSON (dữ liệu): ký tự thoát không mong muốn '\ o' tại vị trí 130". Hãy khám phá:Cách thay thế "ký tự thoát không mong muốn" trong 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 

Có cách nào để thay thế ký tự '\ o' này trước khi tôi phân tích cú pháp JSON không? Tôi đã thử gsub nhưng nó không hoạt động (hoặc tôi đang làm gì đó sai).

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

Ai đó có thể giúp tôi với điều này? Cảm ơn.

+2

thử 'gsub ('\\ o', '', dữ liệu) ' –

+0

nhờ @ Matthew Plourde –

Trả lời

3

Bạn cần thoát khỏi \ trong mẫu của mình.

Hãy thử

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

Cảm ơn @Matthew và geektrader Với sự trợ giúp của bạn, tôi cũng có thể thay thế '\ o' và '\ m', nhưng giờ tôi nhận được "Lỗi inJSON (datafixed2): ký tự không mong muốn: p" datafixed3 <- gsub ('\\: p', '', datafixed2) fbData <- fromJSON (datafixed3) Lỗi trong fromJSON (datafixed3): ký tự không mong muốn: p –

+0

fbData <- fromJSON (datafixed6) Erro em fromJSON (datafixed6): ký tự không mong muốn: p –

1

Bạn có thể làm

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

bạn sẽ thấy một cảnh báo

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

nếu bạn muốn, bạn có thể ngăn chặn các cảnh báo bằng

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

unexpected.escape: thay đổi xử lý các ký tự thoát không mong muốn. Giá trị xử lý phải là một trong "lỗi", "bỏ qua" hoặc "giữ"; về nhân vật bất ngờ phát hành một lỗi, bỏ qua nhân vật, hoặc giữ các nhân vật

Bạn có thể tìm thêm chi tiết tại đây - http://cran.r-project.org/web/packages/rjson/rjson.pdf