我想在Google App Engine上阅读JSON字符串(从我的Android应用程序获取)。 但我不知道如何解决这个问题。
这些是我的应用程序中的代码:
JSONObject ob = new JSONObject();
ob.put("user", "peter");
ob.put("frage", "frage1");
ob.put("datumende", "27.4.2012");
Log.i("json", ob.toString());
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
connection.setRequestProperty("Content-Language", "en-US");
connection.setUseCaches(false);
connection.setDoInput(true);
connection.setDoOutput(true);
byte[] outputBytes = ob.toString().getBytes("UTF-8");
connection.setRequestProperty("Content-Length", Integer.toString(outputBytes.length));
OutputStream os = connection.getOutputStream();
os.write(outputBytes);
有效。我可以使用
从我的应用引擎中读取这些数据getPostData = self.request.body
如果我在数据存储中写出这些(getPostData)
{\"datumende\":\"27.4.2012\",\"user\":\"peter\",\"frage\":\"frage1\"}
也有效。
但是我如何将JSON-String拆分为user,datumende和frage? 我用
测试了它x = json.dumps(self.request.body)
y = json.loads(x)
# I thougt in y['user'] is now "peter". But it isnt't
另外我只测试
x = json.laods(self.request.body)
# I thougt in x['user'] is now "peter". But it isnt't
但一切都行不通。 那么,我如何将JSON-String拆分为user,frage,datumende? p>
答案 0 :(得分:0)
简单回答:/
客户端网站(Android): 取代
connection.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
与
connection.setRequestProperty("Content-Type", "application/json");
这些在Server-Site(GAE with Python)上:
lo = self.request.body
fff = json.loads(lo)
name = fff['user']