LINUX.ORG.RU

json.loads() возвращает объект unicode вместо dict

 , ,


0

1

Всем привет!

Приходит мне запрос с json'ом.

Делаю json.loads(request.data), получается вроде как словарь питоновский. Но это не так, вывожу тип данных - <type 'unicode'>

Что за нафиг? Вопрос тривиальный: «Как json сериализовать в python-словарь»?



Последнее исправление: Sektor (всего исправлений: 2)

Чую, у тебя проблема в коде :)

r=json.loads('{"x": 2}')
print(type(r))
<class 'dict'>
true_admin ★★★★★
()
>>> type(json.loads('"data"'))
<type 'unicode'>
>>> type(json.loads('1'))
<type 'int'>
>>> type(json.loads('true'))
<type 'bool'>
>>> type(json.loads('false'))
<type 'bool'>
>>> json.loads('"{\'k\': \'v\'}"')
u"{'k': 'v'}"

Смотри, что клиент присылает, проблема скорее всего там.

Kilte ★★★★★
()
Последнее исправление: Kilte (всего исправлений: 1)

сделай json.dumps и посмотри как должен выглядить жсон словаря

Goury ★★★★★
()
Ответ на: комментарий от Sektor

Что как-бы намекает, что надо не сразу парсить ответ, а проверять код возврата от запроса тоже.

pawnhearts ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.