Ruby 4.1 リファレンスマニュアル

class JSON::ParserError

[edit]

要約

JSON のパースエラーを通知する例外です。

目次

インスタンスメソッド

継承しているメソッド

Exceptionから継承している特異メソッド
Exceptionから継承しているメソッド

インスタンスメソッド

line -> Integer | nilRuby 4.0 から[permalink][rdoc][edit]
column -> Integer | nil

パースエラーが発生した位置の行番号と桁番号を返します。

JSON::ResumableParser によって発生した例外の場合は、いずれも nil を返します。

require "json"

begin
  JSON.parse(%Q({"a": invalid}))
rescue JSON::ParserError => e
  p e.line    # => 1
  p e.column  # => 7
  p e.message # => "unexpected character: 'invalid}' at line 1 column 7"
end
json_path -> String | nilRuby 4.1 から[permalink][rdoc][edit]

パースエラーが発生した位置を、JSON ドキュメント中の位置を表す JSONPath 形式の文字列 (例: $.foo[0].bar)で返します。キーが重複しているというエラーの場合は、重複しているキーの位置を指します。

require "json"

begin
  JSON.parse('{"articles": [ { "title": invalid } ]}')
rescue JSON::ParserError => error
  p error.json_path # => "$.articles[0].title"
end