【发布时间】:2016-12-15 22:46:07
【问题描述】:
我有一个看起来像 this 的日志文件。这是一个文本文档,如下所示:
Id,Date,Level,Message
35054,2016-06-17 19:29:43 +0000,INFO,"{
""id"": -2,
""ipAddress"": ""100.100.100.100"",
""howYouHearAboutUs"": null,
""isInterestedInOffer"": true,
""incomeRange"": 60000,
""isEmailConfirmed"": false
}"
35055,2016-06-17 19:36:38 +0000,INFO,"{
""id"": -1,
""firstName"": ""John"",
""lastName"": ""Smith"",
""email"": ""john.smith@gmail.com"",
""city"": ""Smalltown"",
""incomeRange"": 1,
""birthDate"": ""1999-12-10T05:00:00Z"",
""password"": ""*********"",
""agreeToTermsOfUse"": true,
""howYouHearAboutUs"": ""Radio"",
""isInterestedInOffer"": false
}"
35059,2016-07-19 19:52:08 +0000,INFO,"{
""id"": -3,
""visitUrl"": ""https://www.website.com/?purpose=X"",
""ipAddress"": ""100.200.300.400"",
""howYouHearAboutUs"": null,
""isInterestedInOffer"": true,
""incomeRange"": 100000,
""isEmailConfirmed"": true,
""isIdentityConfirmed"": false,
""agreeToTermsOfUse"": true,
""validationResults"": null
}"
我正在尝试通过以下方式解析 Message 列中的 JSON:
library(readr)
library(jsonlite)
df <- read_csv("log_file_from_above.csv")
fromJSON(as.character(df$Message))
但是,我遇到了以下错误:
Error: parse error: trailing garbage
"isEmailConfirmed": false } { "id": -1, "firstName":
(right here) ------^
我怎样才能摆脱“尾随垃圾”?
【问题讨论】:
-
lapply(paste0("[",df$Message,"]"), function(x) jsonlite::fromJSON(x))产生了什么? -
我将一个 json 数据块从一个 html 文档复制到一个新的文本文件中,并且也收到了这个错误。呼应上面的评论,为我解决这个问题的方法是在我的 json 数据文本文件的顶部手动添加一个左括号 ( [ ),并在末尾添加一个右括号 ( ] )。