[ruby-core:66110] [ruby-trunk - Bug #10143] JSON module does not conform to RFC 7159

From: javajax@...
Date: 2014-11-06 01:22:08 UTC
List: ruby-core #66110
Issue #10143 has been updated by Jack Thorne.


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)

----------------------------------------
Bug #10143: JSON module does not conform to RFC 7159
https://bugs.ruby-lang.org/issues/10143#change-49821

* Author: Chibi Magic
* Status: Assigned
* Priority: Low
* Assignee: Yui NARUSE
* Category: ext
* Target version: next minor
* ruby -v: ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
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'`



-- 
https://bugs.ruby-lang.org/

In This Thread

Prev Next