在JSON编码python中逃避反斜杠

时间:2013-05-31 10:43:32

标签: python escaping json

我正在尝试对下面的dict进行JSON编码。但在这种情况下,message实际上是unicode character DEVANAGARI LETTER

因此,在将此dict编码为json对象时,似乎使用两个反斜杠(" \")来转义反斜杠(" \") message

如何将其更改为一个反斜杠" \"用json.dumps()

编码后

我正在使用以下custom encoder,以encode dict为json。

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
}]

1 个答案:

答案 0 :(得分:1)

使用unicode字面值,以便理解\u转义序列,而不是让编译器认为您的意思是\\u

u'\u092e....