[Web-SIG] Time a for JSON parser in the standard library?

Deron Meranda deron.meranda at gmail.com
Mon Mar 24 19:17:38 CET 2008


Bob and John, I downloaded the new versions of simplejson (1.8.1)
and jsonlib (1.2.7).  I will re-run tests and update my report
at http://deron.meranda.us/python/comparing_json_modules/
over the next couple days.  I went ahead and put a note on
there that new versions are available; until I get it all updated.

It's nice to see things tightening up.


On Sun, Mar 23, 2008 at 5:49 PM, Bob Ippolito <bob at redivi.com> wrote:
>  ... I think it's [simplejson] more or less ready to go into the stdlib
>  at this point.

Your code is certainly looking pretty strong now and I'm glad
you're willing to donate it.  I believe there may yet be some minor
changes we'd need to make before Guido and company would
be willing to accept it though.

Some of my suggestions for it to go into Python are mainly
just to really clean up the interface.  Some of these might
break exact API compatibility with simplejson, but if you're
donating this (fork of?) to Python then its the time to do this
before the official API gets blessed.

Rename module to just "json".  (This would obviously be
done when/if it goes into Python stdlib.)

Change how the separators parameter works.  I don't
like having the user having to pass in the punctuation
characters (when would those ever be different), or
other arbitrary characters.  Maybe something safer like
space_after_punctuation = (None | bool | int), similar to
how you did the indent parameter.

dump and load?  My preference is to not use the dumps
and loads function names (borrowed from the pickle module?).
I still don't think of JSON data streams as being strings;
and want to avoid confusion with pickle too.

What about documentation?  The docstrings are nice,
but I don't know what Guido needs in terms of other
module documentation to go in the manual.

There's probably some other minor things too.

Lastly, I'm still not completely sold that this, or any of the
other existing modules (mine included), is what we really
want in the stdlib.  There are at least three really good modules
now; but I have this feeling that an even better one could
be made (I'm talking about the user/caller interface, not
necesarily the internal implementation).  I'm playing with some
ideas, and may have some thoughts to share shortly.
-- 
Deron Meranda


More information about the Web-SIG mailing list