x1nick Posted February 14, 2011 Share Posted February 14, 2011 This should be really simple but I can't get my head round it. Please see the PHP/HTML below. <?php $a = array( 'test' => "'data'" ); $json = json_encode($a); ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Unknown Page</title> <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.5.min.js"></script> <script type="text/javascript"> var j = jQuery.parseJSON('<?php echo $json; ?>'); </script> </head> <body> </body> </html> You will notice that data is stored by " then ' I have tried how it is and also with add slashes $a = array( 'test' => addslashes("'data'") ); It either outputs without slashes (which is clearly wrong) var j = jQuery.parseJSON('{"test":"'data'"}'); Or which I cant work out why dosent work var j = jQuery.parseJSON('{"test":"\\'data\\'"}'); Now firebog throws the following error missing ) after argument list How should I be escaping this variable? Quote Link to comment https://forums.phpfreaks.com/topic/227647-json-encode-and-escaping/ Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.