使用R去除引号内的引号

时间:2019-04-18 04:22:01

标签: r json string jsonlite

我有一些几乎采用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'}}

我想做的是除去主引号内的所有引号(单引号和双引号)。数据将如下所示:

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'}}

之后,我可以使用stringr处理单引号和双引号,并从JSON转换。

有什么建议吗?

这是我目前尝试从JSON转换原始数据时遇到的错误:

> 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) ------^

0 个答案:

没有答案