JSON in PHP
Anyone using JSON and PHP should be aware of bug #50867, just opened after bug #41505 didn't actually fix the problem. PHP’s handling of empty string keys is blatantly incorrect. Observe:
$ ruby -rjson -e 'puts JSON.parse("{\"\":\"foo\"}").to_json' {"":"foo"} $
$ python -c 'import json; print(json.dumps(json.loads("{\"\":\"foo\"}")))' {"": "foo"} $
$ php -r 'echo json_encode(json_decode("{\"\":\"foo\"}")), "\n";' {"_empty_":"foo"} $
"_empty_"
? That’s totally what I said. Thanks, PHP!
Mind your empty strings, everyone.