Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 7, 2010 02:05:07

exeplor
От:
Зарегистрирован: 2010-12-03
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Модуль json не парсит

Возникла небольшая проблема. Есть сокет сервер на питоне, он принимает значение в JSON формате: {“name”:“Ben”,“surname”:“Stiller”}


Когда сервер принял это сообщение, первым делом он его загружает, а потом парсит. Проблема возникает на загрузке (имеется ввиду не загрузки самого текста в json, а в его парсе):



Теперь запускаем:




Я уже пробовал менять типы (str, object и т.п.), ничего не помогает…



Офлайн

#2 Дек. 7, 2010 17:16:37

piranha
От:
Зарегистрирован: 2007-10-05
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Модуль json не парсит

Там нулевой байт в конце:

>>> len('{"name":"Ben","surname":"Stiller"}')
34
>>> len('{"name":"Ben","surname":"Stiller"}\0')
35
>>> print '{"name":"Ben","surname":"Stiller"}\0'
{"name":"Ben","surname":"Stiller"}
Просто стрипни его.



Офлайн

#3 Дек. 7, 2010 21:46:15

exeplor
От:
Зарегистрирован: 2010-12-03
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Модуль json не парсит

Да, вот если именно вписать в программу, то все работает на ура, но если это принимать… Ничего не работает словом. Пробовал я ставить “\0” и в клиенте и на сервер (добавлять к сообщению) все равно выбивает одно и то же сообщение! Не знаю почему так.. Еще заметил что при приеме данных к тому что пришло в конец добавляется пробел, заметил давно, но может это причина? Проверил на клиенте и на сервере, запрос чистый, но по каким то причинам пробел все таки добавляется…



Офлайн

#4 Дек. 7, 2010 22:23:09

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Модуль json не парсит

exeplor
Пробовал я ставить “\0” и в клиенте и на сервер (добавлять к сообщению) все равно выбивает одно и то же сообщение! Не знаю почему так..
Его не добавлять, а убирать нужно.
exeplor
Еще заметил что при приеме данных к тому что пришло в конец добавляется пробел, заметил давно, но может это причина?
Так вам именно про это и говорят.

И пожалуйста не надо постить в форум скриншоты.



Офлайн

#5 Дек. 7, 2010 22:57:34

exeplor
От:
Зарегистрирован: 2010-12-03
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Модуль json не парсит

Все, спасибо, разобрался.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version