GAE从Android App读取JSON字符串

时间:2013-04-27 13:40:30

标签: android python json

我想在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?

1 个答案:

答案 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']