[Q] storing JSON, problem with 'escapes' - Mailing list pgsql-php

From V S P
Subject [Q] storing JSON, problem with 'escapes'
Date
Msg-id 1227250475.15555.1285991741@webmail.messagingengine.com
Whole thread Raw
Responses Re: [Q] storing JSON, problem with 'escapes'
Re: [Q] storing JSON, problem with 'escapes'
List pgsql-php
Hi,
I am using PHP's json_encode function on
an array of strings
that gives me back a JSON encoded string.

Some of the elements in the string arrays have
double quotes.  So PHP's json_encode correctly
escapes them (according to JSON specifications)
with \.

For example here is a an array element

"if( js_iop_lt(a,b) ){ VLADIKVLADIKVLADIKVLADIK("b2122") ;}"

would get encoded in JSON as

"if( js_iop_lt(a,b) ){ VLADIKVLADIKVLADIKVLADIK(\"b2122\") ;}"

And that's correct.
Now, the problem is that with PDO (or may be postgresql itself)
I get


"if( js_iop_lt(a,b) ){ VLADIKVLADIKVLADIKVLADIK(\\"b2122\\") ;}"


and I get then the POSTGRESQL warning

WARNING:  nonstandard use of \\ in a string literal at character 240
HINT:  Use the escape string syntax for backslashes, e.g., E'\\'.

( I am seeing what postgres is getting because I enabled logging of
all the statements to stderr)
--------

So I am not sure what to do.  This has to be a common issue
(unless nobody before me stored JSON in postgresql :-) ).

The PDO does not provide facilities to 'not to escape' or escape
differently.

Ideally I do not want the second backslash.  I do not undestand who
adds it and why. The first backslash is by json_encode -- which is
correct.

thanks in advance for any help.










--
  V S P
  toreason@fastmail.fm

--
http://www.fastmail.fm - Access all of your messages and folders
                          wherever you are


pgsql-php by date:

Previous
From: "V S P"
Date:
Subject: Re: [Q] PDO use to bind arrays for insert
Next
From: Chris
Date:
Subject: Re: [Q] storing JSON, problem with 'escapes'