(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