Как вы можете отправить JSON? - PullRequest
0 голосов
/ 12 ноября 2010

У меня есть Python FastCGI-сервер, который принимает POST от клиента, я хочу использовать JSON в качестве формата для обмена данными между клиентом и сервером, но это действительно смущает меня, как он работает.

Представление JSON в javascript:

{'login_user': {'username':username, 'password':password}}

Когда я публикую этот объект JSON, jquery перекодирует его, чтобы продиктовать и преобразовать в строку, закодировать и отправить его:

login_user[username] = "kajjd"&loginuser[password] = "kdjfdj" #it's unescaped query string

Мой питон-сервер получит эту строку. Я также хочу использовать JSON на стороне сервера, что я могу сделать, чтобы преобразовать эту строку запроса обратно в JSON в python? Это какой-нибудь быстрый способ?

Я не знаю, насколько хорошо я использую JSON, но я не вижу никакой хорошей стороны JSON, почему не XML? Я спрашиваю себя.

1 Ответ

2 голосов
/ 12 ноября 2010

XML для связи для веб-приложения? Сделай глубокий вдох и подумай об этом. Если у вас есть сомнения по этому поводу, значит, вам это действительно не нужно. Вы полагаетесь на XML для довольно сложных наборов данных с потенциальными серьезными изменениями в формате протокола, которые будут предусмотрены с течением времени. По своей природе XML мог бы делать это нормально: преобразовывать данные, создавать разные версии, позволяя анализировать форматы с самоописанием с помощью кода, который не должен был бы сам определять это и знать, что с этим делать. В противном случае предпочитаю что-то более легкое (и это все равно может привести к тому же самому). Вот почему JSON является хорошей альтернативой: он еще более компактен и относительно прост в управлении как человеком, так и машиной. Если вам нужно сильно уменьшить пропускную способность, посмотрите на двоичные форматы.

Теперь перейдем к реальному вопросу: см. Этот ответ для использования JSON в JavaScript и Java . Это все двунаправленные библиотеки, поддерживающие декодирование и кодирование.

Теперь о вашей форме: если вы хотите использовать JSON, почему вы преобразуете строку в этот формат dict?

Чтобы получить данные с сервера, либо выполните обычный AJAX-запрос и проанализируйте или оцените возвращаемое значение (предпочтительный синтаксический анализ, если возможно с нативными API), либо используйте что-то вроде jQuery.getJSON . Или jquery-json .

Чтобы отправить запрос на сервер, выполните поиск jQuery.ajax () или jQuery.post () .

Вы также можете посмотреть на следующие вопросы:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...