Лучший и простой способ справиться с JSON в Django - PullRequest
1 голос
/ 17 мая 2010

Как часть приложения, которое мы разрабатываем (с клиентом Android и сервером Django), объект json, который содержит имя пользователя и пароль, отправляется на сервер с клиента Android следующим образом

HttpPost post = new HttpPost(URL);
 /*Adding key value pairs */
 json.put("username", un);
 json.put("password", pwd);

 StringEntity se = new StringEntity(json.toString());
    post.setEntity(se);
    response = client.execute(post);

Ответ анализируется следующим образом

result = responsetoString(response.getEntity().getContent()); //Converts response to String 

jObject = new JSONObject(result);
 JSONObject post = jObject.getJSONObject("post");
    username = post.getString("username");
    message = post.getString("message");

Надеюсь, с этим все в порядке. Проблема возникает при разборе или отправке ответов JSON на сервер Django. Какой лучший способ сделать это?

Мы пытались использовать SimpleJSON , и оказалось, что это не так просто, так как мы не нашли ни одного хорошего учебника или примера кода для этого? Существуют ли какие-либо функции Python, аналогичные, чтобы получить, положить и выбрать в Java для JSON? Любая помощь будет высоко ценится.

Ответы [ 3 ]

1 голос
/ 17 мая 2010

Стандартная библиотека Python имеет функцию загрузки / выгрузки JSON: http://docs.python.org/library/json.html

1 голос
/ 17 мая 2010

simplejson.loads и simplejson.dumps преобразуют строки в / из python dicts

from django.utils import simplejson

result = simplejson.loads('{"username": "abc", "password": "def"}')

# now just use result like a python dictionary 
username = result.get('username', None)   # pass second parameter as a default

# or catch KeyError
try:
    password = result['password']
except KeyError, e:
    print 'no password'

dumps тоже довольно прост:

a_dict = {'username':'abc', 'password': 'def'}
json_str = simplejson.dumps(a_dict)
# json_str = '{"username": "abc", "password": "def"}'
1 голос
/ 17 мая 2010

В Python массивы JSON становятся списками, а объекты JSON становятся диктовками. Кроме этого, используются логические сопоставления (строка -> юникод, истина / ложь -> истина / ложь, ноль -> нет).

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