On Fri, Apr 10, 2009 at 10:06 PM, "Martin v. Löwis" <martin@v.loewis.de> wrote:
However, I really think that this question cannot be answered by
reading the RFC. It should be answered by verifying how people use
the json library in 2.x.

I use the json module in 2.6 to communicate with a C# JSON library and a JavaScript JSON library.  The C# and JavaScript libraries produce and consume the equivalent of str, not the equivalent of bytes.

Yes, the data eventually has to go over a socket as bytes, but that's often handled by a different layer of code.

For JavaScript, data is typically received by via XMLHttpRequest(), which automatically figures out the encoding from the HTTP headers and/or other information (defaulting to UTF-8) and returns a str-like object that I pass to the JavaScript JSON library.

For C#, I wrap the socket in a StreamReader object, which decodes the byte stream into a string stream (similar to Python's new TextIOWrapper class).

Hope that helps,
Daniel Stutzbach, Ph.D.
President, Stutzbach Enterprises, LLC