This function creates a handler object that is used to consume tokens/elements from a JSON parser and combine them into R objects.

This is slow relative to using C code because this is done in R and also we don't know the length of each object until we have consumed all its elements.

basicJSONHandler(default.size = 100, simplify = FALSE)

Arguments

default.size

the best guess as to the sizes of the different elements. This is used for preallocating space for elements

simplify

a logical value indicating whether to simplify arrays from lists to vectors if the elements are of compatible types.

Value

update

a function called with a JSON element and used to process that element and add it to the relevant R object

value

a function to retrieve the result after processing the JSON

Author

Duncan Temple Lang duncan@wald.ucdavis.edu \ Yaoxiang Li liyaoxiang@outlook.com

See also

fromJSON and the handler argument.

Examples

  h = basicJSONHandler()
  x = fromJSON("[1, 2, 3]", h)
  x
#> [[1]]
#> [1] 1
#> 
#> [[2]]
#> [1] 2
#> 
#> [[3]]
#> [1] 3
#> 
  h$value()
#> [[1]]
#> [1] 1
#> 
#> [[2]]
#> [1] 2
#> 
#> [[3]]
#> [1] 3
#>