Project

General

Profile

Bug #10143

JSON module does not conform to RFC 7159

Added by Chibi Magic over 1 year ago. Updated over 1 year ago.

Status:
Third Party's Issue
Priority:
Normal
Assignee:
ruby -v:
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0]
[ruby-core:64406]

Description

From RFC 7159: http://tools.ietf.org/html/rfc7159
~~~
A JSON text is a serialized value. Note that certain previous
specifications of JSON constrained a JSON text to be an object or an
array.
~~~

This means that the following should be valid:
JSON.parse('1')
JSON.parse('this is a string')

However, they each currently return a JSON::ParserError:
A JSON text must at least contain two octets!
or
757: unexpected token at 'this is a string'

History

#1 [ruby-core:64435] Updated by Yui NARUSE over 1 year ago

  • Category set to ext
  • Status changed from Open to Assigned
  • Assignee set to Yui NARUSE
  • Priority changed from Normal to 3
  • Target version set to next minor

#2 [ruby-core:66110] Updated by Jack Thorne over 1 year ago

I cannot find another linter that would accept this as input. example: http://www.jslint.com
I can however see that there are more examples of values in the RFC http://tools.ietf.org/html/rfc7159#section-13.
If I am reading this correctly strings, numbers and booleans can be passed.

So all the following should be valid.
JSON.parse('1')
JSON.parse('this is a string')
JSON.parse(42)
JSON.parse(true)

#3 [ruby-core:66112] Updated by Yui NARUSE over 1 year ago

  • Status changed from Assigned to Third Party's Issue

Also available in: Atom PDF