1setGeneric("isValidJSON",
2           function(content, asText = inherits(content, "AsIs"), ...)
3              standardGeneric("isValidJSON"))
4
5setMethod("isValidJSON", "AsIs",
6          function(content, asText = inherits(content, "AsIs"), ...) {
7             .Call("R_isValidJSON", as.character(content))
8           })
9
10setMethod("isValidJSON", "character",
11          function(content, asText = inherits(content, "AsIs"), ...) {
12
13              if(!asText) {
14                content = I(suppressWarnings(paste(readLines(content), collapse = "\n")))
15              } else
16                content = I(content)
17
18              isValidJSON(content, asText = TRUE)
19           })
20
21setMethod("isValidJSON", "connection",
22          function(content, asText = inherits(content, "AsIs"), ...) {
23             content = I(suppressWarnings(paste(readLines(content), collapse = "\n")))
24             isValidJSON(content, asText = TRUE)
25          })
26