--- C:\apps\Python\trunk\Lib\json\decoder.py 2009-01-26 22:50:19.000000000 -0200 +++ C:\apps\Python\trunk\Lib\json\decoder.working.py 2009-01-26 22:47:48.000000000 -0200 @@ -168,7 +168,8 @@ if nextchar == '}': return pairs, end + 1 if nextchar != '"': - raise ValueError(errmsg("Expecting property name", s, end)) + raise ValueError(errmsg( + "Expecting property name enclosed in double quotes", s, end)) end += 1 encoding = getattr(context, 'encoding', None) strict = getattr(context, 'strict', True) @@ -177,7 +178,7 @@ key, end = scanstring(s, end, encoding, strict) end = _w(s, end).end() if s[end:end + 1] != ':': - raise ValueError(errmsg("Expecting : delimiter", s, end)) + raise ValueError(errmsg("Expecting ':' delimiter", s, end)) end = _w(s, end + 1).end() try: value, end = iterscan(s, idx=end, context=context).next() @@ -190,12 +191,13 @@ if nextchar == '}': break if nextchar != ',': - raise ValueError(errmsg("Expecting , delimiter", s, end - 1)) + raise ValueError(errmsg("Expecting ',' delimiter", s, end - 1)) end = _w(s, end).end() nextchar = s[end:end + 1] end += 1 if nextchar != '"': - raise ValueError(errmsg("Expecting property name", s, end - 1)) + raise ValueError(errmsg( + "Expecting property name enclosed in double quotes", s, end - 1)) object_hook = getattr(context, 'object_hook', None) if object_hook is not None: pairs = object_hook(pairs) @@ -224,7 +226,7 @@ if nextchar == ']': break if nextchar != ',': - raise ValueError(errmsg("Expecting , delimiter", s, end)) + raise ValueError(errmsg("Expecting ',' delimiter", s, end)) end = _w(s, end).end() return values, end pattern(r'\[')(JSONArray)