From your example page, under Parameters: value The value being encoded. Can be any type except a resource.
That means it can be an Array, an Object, a String, an Integer, a Boolean, a Floating Point Number or NULL, according to this list of Types: http://us3.php.net/manual/en/language.types.resource.php Walter On Jun 8, 2009, at 11:00 AM, Matt Foster wrote: > > You guys are crazy...you send json_encode an object, not a string!! > > http://us3.php.net/manual/en/function.json-encode.php > > -- > > http://positionabsolute.net > > > On Jun 5, 6:16 am, "Alex McAuley" <[email protected]> > wrote: >> very strange .. works for me with anything all the time >> >> ----- Original Message ----- >> From: "Matt" <[email protected]> >> To: "Prototype & script.aculo.us" <[email protected] >> > >> Sent: Friday, June 05, 2009 10:05 AM >> Subject: [Proto-Scripty] Re: HTML breaks JSON >> >> Hi Alex, >> >> Still didn't work for me :( Just produced broken HTML output again. >> >> On Jun 4, 5:24 pm, "Alex McAuley" <[email protected]> >> wrote: >>> You need to do it a bit differently with php json_encode/ >>> decode ... i had >>> this problem when i first started using it.... >> >>> where you send post data (JSON) as p >> >>> $post=str_replace('\"', '"', $_POST['p']); >>> $json=$post; >>> $d=json_decode($json,true); >> >>> foreach($d as $key=>$val) { ...... do what you will with it after >>> this >>> unless you know the key names !! >> >>> This should do the trick for you >> >>> HTH >> >>> ALex >> >>> ----- Original Message ----- >>> From: "Matt" <[email protected]> >>> To: "Prototype & script.aculo.us" >>> <[email protected]> >>> Sent: Thursday, June 04, 2009 4:30 PM >>> Subject: [Proto-Scripty] Re: HTML breaks JSON >> >>> Hi again, >> >>> I've been running addslashes() on the input before running >>> json_encode >>> () and it still creates problems when I pass it through AJAX - >>> breaks >>> HTML tags etc. If I turn addslashes() off, any occurence of "" in >>> the >>> body text (eg quotes from speakers etc) breaks the code again. Does >>> anyone have a foolproof method? >> >>> Cheers >>> Matt >> >>> On Apr 24, 9:54 pm, Matt Foster <[email protected]> wrote: >>>> What are you sending to PHP's json_encode? It is expecting a >>>> structure to serialize into a JSON syntax string. >> >>>> $struct = array("message" => "<h1>Hello World</h1>Who says we can't >>>> have any kind of \"quotes\" we want?"); >> >>>> echo json_encode($struct); >> >>>> If you try to run json_encode on your already JSONified string, >>>> yeah >>>> its going to cause problems... >> >>>> -- >> >>>> http://positionabsolute.net >> >>>> On Apr 24, 12:26 pm, "T.J. Crowder" <[email protected]> >>>> wrote: >> >>>>> @Ananth: >> >>>>> Converting to Base64 would be massive overkill, surely. >> >>>>> @OP: >> >>>>> There's no reason you can't include strings containing HTML in >>>>> JSON >>>>> data. You just have to make sure your strings are valid string >>>>> literals, like this: >> >>>>> { >>>>> message: "<p>This is HTML.</p>" >> >>>>> } >> >>>>> There's nothing special other than making sure the HTML is >>>>> correctly >>>>> escaped -- e.g., if you're putting the JSON string in double >>>>> quotes, >>>>> naturally any double quotes in the HTML will need a backslash in >>>>> front >>>>> of them -- as, for that matter, will any backslashes! >> >>>>> HTH, >>>>> -- >>>>> T.J. Crowder >>>>> tj / crowder software / com >> >>>>> On Apr 24, 5:05 pm, Ananth Raghuraman <[email protected]> >>>>> wrote: >> >>>>>> JSON should not contain HTML for tactical/ease of programming >>>>>> purposes >>>>>> unless the HTML is there as part of a larger design, but there >>>>>> may >>>>>> or >>>>>> may >>>>>> not be implementation restrictions. >>>>>> If you are facing problems, can you try encoding the HTML string >>>>>> (Base64) >>>>>> and decoding back (using Javascript Base64 code ) before >>>>>> display on >>>>>> the >>>>>> browser? >> >>>>>> On Fri, Apr 24, 2009 at 11:30 AM, Matt <[email protected]> >>>>>> wrote: >> >>>>>>> Hi there, >> >>>>>>> I'm using PHP to output some JSON through AJAX to my page. It >>>>>>> breaks >>>>>>> whenever I use a backslash or quote mark. >> >>>>>>> I've tried using php's json_encode function which doesn't seem >>>>>>> to >>>>>>> help, just breaks it further. I've also tried php's addslashes() >>>>>>> to >>>>>>> the output, again, same problem. >> >>>>>>> Am I approaching this correctly, fundamentally? Is JSON supposed >>>>>>> to >>>>>>> contain HTML? >> >>>>>>> Thanks, >> >>>>>>> Matt > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Prototype & script.aculo.us" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/prototype-scriptaculous?hl=en -~----------~----~----~----~------~----~------~--~---
