Saving utf-8 texts in json.dumps as UTF8, not as \u escape sequence

前端 未结 12 1273
说谎
说谎 2020-11-21 23:25

sample code:

>>> import json
>>> json_string = json.dumps(\"ברי צקלה\")
>>> print json_string
\"\\u05d1\\u05e8\\u05d9 \\u05e6\\u05         


        
12条回答
  •  佛祖请我去吃肉
    2020-11-22 00:26

    Here's my solution using json.dump():

    def jsonWrite(p, pyobj, ensure_ascii=False, encoding=SYSTEM_ENCODING, **kwargs):
        with codecs.open(p, 'wb', 'utf_8') as fileobj:
            json.dump(pyobj, fileobj, ensure_ascii=ensure_ascii,encoding=encoding, **kwargs)
    

    where SYSTEM_ENCODING is set to:

    locale.setlocale(locale.LC_ALL, '')
    SYSTEM_ENCODING = locale.getlocale()[1]
    

提交回复
热议问题