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? Link to comment https://forums.phpfreaks.com/topic/227647-json-encode-and-escaping/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.