JSON数据中的转义字符

时间:2015-10-30 17:54:29

标签: json r twitter unicode-escapes

我从

开始
   mentions = GET(final_url, sig)
   json = content(mentions)

我的代码在下一行

崩溃
   json2 = jsonlite::fromJSON(toJSON(json))

给出错误......

    Error: lexical error: invalid character inside string.
      Foundation and 42nd President of the United States. Follow 
                 (right here) ------^

我正在处理一些JSON数据。 它的一小块看起来像这样。也就是说,这是我的变量“json”的输出。

    Lots of JSON before this....

    $statuses[[99]]$retweeted_status$user$location
    [1] "New York, NY"

    $statuses[[99]]$retweeted_status$user$description
    [1] "Founder, Clinton Foundation and 42nd President \003of the United                States. Follow @clintonfdn for \003more on my work around the world."

    $statuses[[99]]$retweeted_status$user$url
    [1] "http://t.co/gI8TIlAJHk"

如您所见,在其中一个JSON数据中嵌入了转义字符\ 003。

我正在同一个文件中处理数百条好的信息,但这可能会在任何想到它的时候发生。当然这次发生在“描述”中,但它可能发生在推文,位置,描述等中。

在尝试执行jsonlite :: fromJSON(toJSON())以避免我的代码崩溃之前,有没有办法从JSON中“清除”转义字符?

1 个答案:

答案 0 :(得分:0)

你可以尝试这样的事情:

 json2 <- gsub("[\001-\026]*", "", json)

这是一个简单的“策略测试”

> gsub("[\003-\005]*", '', "\003\004\005\027abc")
[1] "\027abc"

如果您需要更好的测试,则应发布dput(head(json))的输出。