Project

General

Profile

Bug #12951

JSON.parse allows invalid string escapes

Added by mmb (Matthew Boedicker) about 3 years ago. Updated about 3 years ago.

Status:
Third Party's Issue
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
[ruby-core:78190]

Description

According to jq and jsonlint, the following JSON is invalid:

{"x":"\$"}

but JSON.parse will parse it without complaint:

irb(main):002:0> JSON.parse('{"x":"\$"}')
=> {"x"=>"$"}

History

Updated by shyouhei (Shyouhei Urabe) about 3 years ago

  • Status changed from Open to Third Party's Issue

It is a very delicate question if this is a bug. According to RFC7159 section 9 https://tools.ietf.org/html/rfc7159#section-9, a JSON parser is explicitly allowed to extend JSON. So this could perhaps be an extension made by the JSON parser.

Besides that JSON is maintained in a separate repo so please report there https://github.com/flori/json

Also available in: Atom PDF