使用R去掉引号中的引号

使用R去掉引号中的引号,r,json,string,jsonlite,R,Json,String,Jsonlite,我有一些几乎是JSON格式的数据,但不完全是JSON格式。我试图使用R中的jsonlite将其从JSON转换而来。下面是一个数据示例: field {'email': {'name': 'Bob Smith', 'address': 'bob_smith@blah.com'}} {'email': {'name': "Sally O'Mally", 'address': 'sally_omally@blah.com'}} {'email': {'name': 'Sam Daniels', 'ad

我有一些几乎是JSON格式的数据,但不完全是JSON格式。我试图使用R中的
jsonlite
将其从JSON转换而来。下面是一个数据示例:

field
{'email': {'name': 'Bob Smith', 'address': 'bob_smith@blah.com'}}
{'email': {'name': "Sally O'Mally", 'address': 'sally_omally@blah.com'}}
{'email': {'name': 'Sam Daniels', 'address': '"some text"<sam_daniels@xyz.com>'}}
{'email': {'name': "Johnson', Alan", 'address': 'alan.johnson@abc.com'}}

你为什么需要/想要这样做?我想大多数JSON解析器都会喜欢单引号或双引号。我在R中找不到这样做的方法。我编辑了我的帖子,其中包含了我在试图直接从原始数据转换JSON时遇到的错误。@TimBiegeleisen,
jsonlite
单引号失败,但是
gsub(“,”,…)
这个选择没有问题。看看这个R JSON库是否需要双引号,那么最好的长期修复方法是返回数据源。作为补充说明,您不必使用
dplyr/purrr
等手动循环每个
JSON
行-直接使用
jsonlite::stream\u in
即可-例如:为什么需要/想要这样做?我想大多数JSON解析器都会喜欢单引号或双引号。我还没有找到在R中这样做的方法。我编辑了我的帖子,其中包含了我在尝试直接从原始数据转换JSON时遇到的错误。@TimBiegeleisen,
jsonlite
使用单引号失败,但是
gsub(“'”、“'”、…)
此选项的操作没有问题。看看这个R JSON库是否需要双引号,那么最好的长期修复方法是返回数据源。作为补充说明,您不必使用
dplyr/purrr
等手动循环每个
JSON
行-只需直接使用
jsonlite::stream\u in
即可-例如:
field
{'email': {'name': 'Bob Smith', 'address': 'bob_smith@blah.com'}}
{'email': {'name': "Sally OMally", 'address': 'sally_omally@blah.com'}}
{'email': {'name': 'Sam Daniels', 'address': 'some text<sam_daniels@xyz.com>'}}
{'email': {'name': "Johnson, Alan", 'address': 'alan.johnson@abc.com'}}
> json_test2 <-
+   json_test %>%
+   dplyr::mutate(
+     field2 = map(field, ~ fromJSON(.) %>% as.data.frame())
+   )
Error: lexical error: invalid char in json text.
                                      {'email': {'name': 'Bob S
                     (right here) ------^