JSON数据中的转义字符

JSON数据中的转义字符,json,r,twitter,unicode-escapes,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. Fol

我从

   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”的输出

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

我在同一个文件中处理了数百条好信息,但现在想到它,这种情况可能会发生在任何地方。当然,这次它发生在“描述”中,但也可能发生在推特、地点、描述中,等等


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

您可以尝试以下操作:

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

如果您需要更好的测试,您应该发布
dput(head(json))

的输出,我的一个文本编辑器(在Mac上)具有“删除非SCII字符”功能。您可以尝试通过这样的编辑步骤传递JSON文件。谢谢您的建议!在json转换之前,我尝试转换我的原始文件。也就是说,我这样做了:json=gsub(“[\001-\026]*”,“”,json),所以我在执行json2=jsonlite::blahblahblah之前重写了json变量。执行您的想法会给我“toJSON(json)中的错误:无法转义字符串。字符串不是utf8”要添加,我尝试按请求执行dput(head(json))。R环境出错,并且只部分显示它。我还不太熟悉这一点,所以我真的不能提供它。不过我想你的方法有些道理。将研究将其转换为UTF8。谢谢!这对我有用。奇怪的是,我的R脚本中的utf-8错误在本地工作站上运行得很好,但在服务器上部署时就不再是了。
 json2 <- gsub("[\001-\026]*", "", json)
> gsub("[\003-\005]*", '', "\003\004\005\027abc")
[1] "\027abc"