作为应用程序的一部分,我们正在开发(使用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");
希望这一切都很好。在Django服务器中解析或发送JSON响应时出现问题。这是最好的方法吗?
我们尝试使用 SimpleJSON 并且结果并非如此简单,因为我们没有找到相同的优秀教程或示例代码?是否有任何类似于获取,放置和选择java for JSON的python函数?任何帮助将不胜感激..
答案 0 :(得分:1)
在Python中,JSON数组成为列表,JSON对象成为dicts。除此之外,使用逻辑映射(字符串 - > unicode,true / false - > True / False,null - > None)。
答案 1 :(得分:1)
Python标准库具有JSON加载/转储功能: http://docs.python.org/library/json.html
答案 2 :(得分:1)
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'
转储也非常简单:
a_dict = {'username':'abc', 'password': 'def'}
json_str = simplejson.dumps(a_dict)
# json_str = '{"username": "abc", "password": "def"}'