Hello,
I hope this is the right place for this, as I'd like to post a patch for
your consideration to the way the JSON handles ampersands. I have had
problems sending JSON data back and forth over POST requests, where an
ampersand separates variables. This patch will convert "&" into "\u0026",
which will allow ampersands to travel freely and be parsed by any valid JSON
decoder.
This has been applied against php-5.2.1
--- json.c 2007-01-12 07:17:32.000000000 -0500
+++ my_json.c 2007-04-27 15:12:44.000000000 -0400
@@ -301,6 +301,11 @@
smart_str_appendl(buf, "\t", 2);
}
break;
-
case '&':
-
{
-
smart_str_appendl(buf, "\\u0026", 6);
-
}
-
break; default: { if (us < ' ' || (us & 127) == us)
Tyler
Hello,
I hope this is the right place for this, as I'd like to post a patch for
your consideration to the way the JSON handles ampersands. I have had
problems sending JSON data back and forth over POST requests, where an
ampersand separates variables. This patch will convert "&" into "\u0026",
which will allow ampersands to travel freely and be parsed by any valid JSON
decoder.
I believe a short reproduce case would explain it better.
This has been applied against php-5.2.1
--- json.c 2007-01-12 07:17:32.000000000 -0500
+++ my_json.c 2007-04-27 15:12:44.000000000 -0400
@@ -301,6 +301,11 @@
smart_str_appendl(buf, "\t", 2);
}
break;
case '&':
{
smart_str_appendl(buf, "\\u0026", 6);
}
break; default: { if (us < ' ' || (us & 127) == us)
Tyler
--
Wbr,
Antony Dovgal