Thread: BUG #12620: JSONB seems to incorrectly handle escaped unicode

BUG #12620: JSONB seems to incorrectly handle escaped unicode

From
dgillis@dystillr.com
Date:
The following bug has been logged on the website:

Bug reference:      12620
Logged by:          Duncan Gillis
Email address:      dgillis@dystillr.com
PostgreSQL version: 9.4.0
Operating system:   Mac OS X 10.10.1
Description:

When you give cast a string such as '"\\u0000"' as JSONB, it removes the
first slash. With plain JSON:

template1=# select '"\\u0000"'::json;
    json
------------
 "\\u0000"
(1 row)

Whereas with JSONB one of the slashes is gone:

template1=# select '"\\u0000"'::jsonb;
   jsonb
-----------
 "\u0000"
(1 row)

Re: BUG #12620: JSONB seems to incorrectly handle escaped unicode

From
Bruce Momjian
Date:
On Wed, Jan 21, 2015 at 10:26:09PM +0000, dgillis@dystillr.com wrote:
> The following bug has been logged on the website:
>
> Bug reference:      12620
> Logged by:          Duncan Gillis
> Email address:      dgillis@dystillr.com
> PostgreSQL version: 9.4.0
> Operating system:   Mac OS X 10.10.1
> Description:
>
> When you give cast a string such as '"\\u0000"' as JSONB, it removes the
> first slash. With plain JSON:
>
> template1=# select '"\\u0000"'::json;
>     json
> ------------
>  "\\u0000"
> (1 row)
>
> Whereas with JSONB one of the slashes is gone:
>
> template1=# select '"\\u0000"'::jsonb;
>    jsonb
> -----------
>  "\u0000"
> (1 row)

Yes, Andrew Dunstan just reported this:

    http://www.postgresql.org/message-id/flat/54C03B86.80604@dunslane.net#54C03B86.80604@dunslane.net

Seems we need to fix it.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + Everyone has their own god. +