我正在处理一个只是大量JSON列的数据列。 每行值约为50,000个字符。
花了一些时间试图摆弄fromJSON来自JSON - > dataframe其中columns = JSON键,并且在执行此操作时遇到大量错误,我在列中使用了isValidJSON(),发现我的JSON大约有75%是"无效"。
现在,我完全相信这个数据实际上是直接来自数据库的有效JSON,因此我希望能够确定fromJSON函数遇到麻烦的50,000个字符的位置
我已经尝试过debug(),但它只是告诉我错误发生在哪个函数调用上。
我分享样本行,如果它们不是那么繁琐,但它是一个健康的价值组合,想象一下具有df $功能的df:
{"names":["bob","alice"],"ages":{"bob":20,"alice":21}, "id":54, "isTrue":false}... ad infinitum
Code I尝试运行:
iValid <- function(x){return(isValidJSON(I(x)))}
sapply(df$features,iValid)
[1] TRUE FALSE FALSE FALSE TRUE TRUE FALSE TRUE TRUE FALSE...
> fromJSON(df$features[2])
debugging in: fromJSON(df$features[2])
debug: standardGeneric("fromJSON")
Browse[2]> n
debugging in: fromJSON(content, handler, default.size, depth, allowComments,
asText = FALSE, data, maxChar, simplify = simplify, ...,
nullValue = nullValue, simplifyWithNames = simplifyWithNames,
encoding = encoding, stringFun = stringFun)
debug: standardGeneric("fromJSON")
Browse[3]> n
Error in fromJSON(content, handler, default.size, depth, allowComments, :
invalid JSON input
>