0

次の辞書を JSON エンコードしようとしています。しかし、この場合、messageこれは実際にはUnicode 文字 DEVANAGARI LETTERです。

そのため、これdictを json オブジェクトにエンコードする際に、バックスラッシュ ("\") をmessage.

でエンコードした後、これを1つのバックスラッシュ「\」に変更するにはどうすればよいですかjson.dumps()

私は、dict to jsonに次custom encoderを使用しています。encode

class MyCustomJsonEncoder(json.JSONEncoder):
    def encode(self, obj):
        # the json obj
        count = 0
        for ob in obj:
            obj[count]['message'] = unicode(obj[count]['message']).replace("\\u","\u")
            count += 1
        return super(MyCustomJsonEncoder, self).encode(obj)

[{
    'virality': '4.6%',
    'post_engaged': 150,
    'description': '',
    'post_impressions': 1631,
    'post_story': 75,
    'name': '',
    'source': '',
    'comment_count': 16,
    'link': '',
    'text': '',
    'created_time': '03:10 AM,<br>May 13, 2013',
    'message': '\u092e\u0941\u0930\u0932\u0940 \u0938\u093e\u0930:-     \u0939\u0947 \u092e\u0940\u0920\u0947',
    'id': u'182929845081087_572281819479219',
    'status_type': 'status',
    'likes_count': 55
}]
4

1 に答える 1

1

コンパイラに意味を理解させるのではなくunicode、エスケープ シーケンスが理解されるようにリテラルを使用します。\u\\u

u'\u092e....
于 2013-05-31T10:55:29.007 に答える