我正在尝试将存储在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'