在Node js中解码Django会话数据

时间:2015-12-25 18:39:43

标签: django node.js redis

我正在尝试将存储在redis DB中的Django会话数据解码为JSON对象。我有从redis DB到变量djangoSessionData的会话数据,当在这个数据的do console.log中,它看起来像这样:

���}    �(�_auth_user_backend��)django.contrib.auth.backends.ModelBackend��_auth_us    er_hash_auth_user_id��2��user_unique_key��abc�u.65��

当我直接查询redis并查看会话数据值时,它是这样的:

"\x80\x04\x95\xaf\x00\x00\x00\x00\x00\x00\x00}\x94(\x8c\x12_auth_user_backend\x94\x8c)django.contrib.auth.backends.ModelBackend\x94\x8c\x0f_auth_user_hash\x94\x8c(6d34e7154c4d217233c7346177325969d1832565\x94\x8c\r_auth_user_id\x94\x8c\x012\x94\x8c\x0fuser_unique_key\x94\x8c\x03abc\x94u."

我正在尝试使用以下方法将其解码为JSON字符串:

var sessionData = new Buffer(djangoSessionData, 'base64').toString();

但是当我在console.log sessionData时,它看起来像这样:

������z��i���cjx(r���&ں�[i���
                         �ץ�$zwj�a����Z��߇�מ�ݵ�m�s���^��n}��u�}���ں��ǫ�'v�ǫ����翑��m˿

所以看起来它没有正确解码,怎么能在Node.js中解码为JSON对象

编辑: 我正在使用Django 1.9并使用以下方法将会话保存到redis DB:

SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db'

0 个答案:

没有答案