Bug Tracker

Modify

Ticket #10336 (closed bug: invalid)

Opened 3 years ago

Last modified 3 years ago

parseJSON validation is inaccurate

Reported by: anonymous Owned by:
Priority: low Milestone: None
Component: core Version: 1.6.4
Keywords: Cc:
Blocking: Blocked by:

Description

The current method for validating JSON for parsing is inaccurate and buggy. For example, jQuery.parseJSON("{,}") passes the existing test, and results in a syntax error when trying to eval it, where jquery should handle the error.

This patch introduces an alternative validation method that really ensures that the input is valid JSON before evaluating it:

 https://github.com/jquery/jquery/pull/516

JQuery 1.4.1+ affected on all platforms

Change History

comment:1 Changed 3 years ago by rwaldron

  • Priority changed from undecided to low
  • Resolution set to invalid
  • Status changed from new to closed
  • Component changed from unfiled to core

comment:2 Changed 3 years ago by anonymous

The behavior is inconsistent, though, because the method of validation is bogus.

 http://i.imgur.com/xf9NW.png

comment:3 Changed 3 years ago by rwaldron

Sorry, but that "json" string is the only bogus thing here...

 http://gyazo.com/5c435cb67293172ba715768f4389d4de.png

comment:4 Changed 3 years ago by anonymous

But why is it okay that {"a":5,} produces a different exception than {'a':5,}? It means that code handling the resulting exceptions has to handle two cases for the same error.

comment:5 Changed 3 years ago by rwaldron

They both produce an "unexpected token" syntax error when using native JSON.parse()

Version 0, edited 3 years ago by rwaldron (next)

Please follow the  bug reporting guidlines and use  jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

View

Add a comment

Modify Ticket

Action
as closed
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.