(original) (raw)
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