[Q] storing JSON, problem with 'escapes'

"V S P" <[email protected]>
Newsgroups gmane.comp.db.postgresql.php
Message-ID <[email protected]>
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
  [email protected]

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


-- 
Sent via pgsql-php mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-php
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.