Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中,如何取消显示保存在字符串中的JSON对象_R_Escaping - Fatal编程技术网

在R中,如何取消显示保存在字符串中的JSON对象

在R中,如何取消显示保存在字符串中的JSON对象,r,escaping,R,Escaping,我将以下JSON保存为R中的字符串,但是由于该字符串被读入R的方式,该字符串被转义两次。这是: > myJsonString = "{\\r\\n \\\"type\\\": \\\"service_account\\\",\\r\\n \\\"project_id\\\": \\\"3456\\\" \\r\\n}" > class(myJsonString) [1] "character" 我只想让这个看起来像这样: > myBetterJsonString = "{\r

我将以下JSON保存为R中的字符串,但是由于该字符串被读入R的方式,该字符串被转义两次。这是:

> myJsonString = "{\\r\\n \\\"type\\\": \\\"service_account\\\",\\r\\n \\\"project_id\\\": \\\"3456\\\" \\r\\n}"
> class(myJsonString)
[1] "character"
我只想让这个看起来像这样:

> myBetterJsonString = "{\r\n \"type\": \"service_account\",\r\n \"project_id\": \"3456\" \r\n}"
> class(myBetterJsonString)
[1] "character"
这与我在这里发表的另一篇文章有关——然而我意识到我的问题可以简化为这一点。任何帮助都将不胜感激

注意:我的实际字符串要长得多。我已经检查了字符串的外观和应该的外观,唯一的区别似乎是:

  • 在\r和\n
  • 在\之前有两个额外的\用于转义引号“”

一如既往,提前感谢您对此的帮助

你说得对-我刚刚更新了,谢谢<代码>jsonlite::fromJSON(gsub(“\\\\”,“\\”,gsub(\\\\n“,“\n”,gsub(\\\\r“,“\r”,s)))用于解析字符串。如果您只是想要/需要字符串,请不要使用来自JSON的
。这就是你要找的吗?谢谢这是greatI发现了一个我正在处理的edge案例-有一个“\\\n”我只需要把它变回“\\n”。它在“---”之后,所以我需要将“---\\\n”全部更新为“---\\n”,但我正在努力解决这个问题。如果它是不同的,但转义相同,这表明转义机制有问题。也许您首先应该考虑另一种获取数据的机制?