What does the AttributeError about iterkeys mean in dumps a unicode string ?
leaveye opened this issue · comments
In comparing dumps() between json and bson 0.4.7 module, I encounting this:
>>> s = u'你我他'
>>> s
u'\u4f60\u6211\u4ed6'
>>> json.dumps(s)
'"\\u4f60\\u6211\\u4ed6"'
>>> bson.dumps(s)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/bson/__init__.py", line 40, in dumps
generator_func=generator, on_unknown=on_unknown)
File "/usr/local/lib/python2.7/dist-packages/bson/codec.py", line 223, in encode_document
key_iter = iterkeys(obj)
File "/usr/local/lib/python2.7/dist-packages/six.py", line 593, in iterkeys
return d.iterkeys(**kw)
AttributeError: 'unicode' object has no attribute 'iterkeys'
You can't use single character data type. should use with dict.