0

I should send Hi" to a Yahoo server, so in PHP I should place \ befor the ", but it will get bad JSON arguments. How should I do it?

Place Hi" in JSON code without error?

$message = "Hi\"";
$postdata = '{
             "message" : "'.$message.'"
             }';
Jonas
  • 121,568
  • 97
  • 310
  • 388
Moein Hosseini
  • 4,309
  • 15
  • 68
  • 106

2 Answers2

5

Use json_encode instead of hand-crafting JSON:

$postdata = json_encode(array("message" => $message));

If you must handcraft your JSON, don't forget to add a backslash before a quotation mark:

$message = "Hi\\\"";
// or, more clearly ...
$message = 'Hi\\"';
phihag
  • 278,196
  • 72
  • 453
  • 469
1

New line character will not work in case of Tooltip with some browsers.
Not working \r\n or \n
Not working single quotes \'abcd

Use double backslash to escape characters.

Solution : use '\\\r\\\n' in place of '\r\n' ,
it will solve your problem.
Happy coding...!

amesh
  • 1,311
  • 3
  • 21
  • 51