【发布时间】:2015-06-22 18:44:21
【问题描述】:
我正在尝试使用 str_replace_all 函数删除以下 json 中的 union 一词。我尝试了一些正则表达式,但它们没有用。关于如何摆脱完整的“联合”字符串的任何建议。这是代码。
library(jsonlite)
json<- '{"open_issues":0,"union":{"avatar_url":"https://secure.gravatar.com/avatar/ed73cf7f24c091318e507d167c7b3456?d=https://a248.e.akamai.net/assets.mashups.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"ed73cf7f24c091318e507d167c7b3456","id":1556245,"login":"Toolpark","url":"https://api.mashups.com/users/Toolpark"},"owner":{"avatar_url":"https://secure.gravatar.com/avatar/ed73cf7f24c091318e507d167c7b3456?d=https://a248.e.akamai.net/assets.mashups.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"ed73cf7f24c091318e507d167c7b3456","id":1556245,"login":"Toolpark","url":"https://api.mashups.com/users/Toolpark"},"private":false,"pushed_at":"2012-07-12T11:43:31Z","size":964,"ssh_url":"vit@mashups.com:Toolpark/irma.vit","svn_url":"https://mashups.com/Toolpark/irma","updated_at":"2012-07-12T11:43:31Z","url":"https://api.mashups.com/repos/Toolpark/irma","watchers":2}'
str_replace_all(json,"union[^}]*}\s*, "")
json <- fromJSON(json)
Error: '\s' is an unrecognized escape in character string starting ""union[^}]*}\s"
我试图摆脱这个字符串,包括最后的昏迷:
"union":{"avatar_url":"https://secure.gravatar.com/avatar/ed73cf7f24c091318e507d167c7b3456?d=https://a248.e.akamai.net/assets.mashups.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"ed73cf7f24c091318e507d167c7b3456","id":1556245,"login":"Toolpark","url":"https://api.mashups.com/users/Toolpark"},
有什么建议吗?
【问题讨论】:
-
您似乎在 str_replace_all 行上缺少了一些引号
-
是的,我试过了!它没有通过
-
试试
str_replace_all(json, '"union"[^}]*\\s*,', "")。请记住,这可能不适用于去除}和,之间的换行符(这通常不是一个问题)。还要记住,如果}在union字符串中,它也不会像你期望的那样工作。解析 JSON 然后删除union属性会更有意义。 -
也许我错过了一些东西,但是,你为什么不
cat(gsub("union", "", json))? -
我也没工作!!