{"record":{"id":"75b7bae9254b7fec","repo":"puppetlabs/puppet","slug":"json-stream-is-not-an-array-it-is-a-klass","errorCode":null,"errorMessage":"JSON stream is not an array. It is a %{klass}","messagePattern":"JSON stream is not an array\\. It is a %(.+?)","errorType":"exception","errorClass":"SerializationError","httpStatus":null,"severity":"error","filePath":"lib/puppet/pops/serialization/json.rb","lineNumber":252,"sourceCode":"    end\n    private :write_extension_payload\n\n    def extension_indicator(ext)\n      @verbose ? ext[1].name.sub(/^Puppet::Pops::Serialization::\\w+::(.+)$/, '\\1') : ext[0]\n    end\n    private :extension_indicator\n  end\n\n  class Unpacker\n    def initialize(io)\n      re_initialize(io)\n      @type_registry = {}\n      @nested = []\n    end\n\n    def re_initialize(io)\n      parsed = parse_io(io)\n      raise SerializationError, _(\"JSON stream is not an array. It is a %{klass}\") % { klass: io.class.name } unless parsed.is_a?(Array)\n\n      @etor_stack = [parsed.each]\n    end\n\n    def read\n      obj = nil\n      loop do\n        raise SerializationError, _('Unexpected end of input') if @etor_stack.empty?\n\n        etor = @etor_stack.last\n        begin\n          obj = etor.next\n          break\n        rescue StopIteration\n          @etor_stack.pop\n        end\n      end\n      if obj.is_a?(Array)","sourceCodeStart":234,"sourceCodeEnd":270,"githubUrl":"https://github.com/puppetlabs/puppet/blob/e227c27540975c25aa22d533a52424a9d2fc886a/lib/puppet/pops/serialization/json.rb#L234-L270","documentation":"Error \"JSON stream is not an array. It is a %{klass}\" thrown in puppetlabs/puppet.","triggerScenarios":"Thrown at lib/puppet/pops/serialization/json.rb:252 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e227c27540975c25aa22d533a52424a9d2fc886a","analyzedAt":"2026-08-21T20:49:46.650Z","schemaVersion":2},"datasetVersion":"2026-08-21T23:17:16.201Z"}