这是一个相当简单的问题,但由于我没有使用 parse.com Android 内置 SDK,所以我陷入了困境。
我试图通过 Android 中的以下内容将数据传递到 parse.com,即使该对象是在没有数据的情况下创建的,但当我包含数据时它不起作用。
Android 应用程序中的文本框通过此将数据转换为 JSON:
protected JSONObject getBodyTextAsJSON() {
String bodyText = getBodyText();
if (bodyText != null && !TextUtils.isEmpty(bodyText)) {
try {
return new JSONObject(bodyText);
} catch (JSONException e) {
Log.e(LOG_TAG, "User's data is not a valid JSON object", e);
}
}
return null;
}
当我输入一些数据时,我的 Logcat 显示以下内容,这对我来说似乎很好:
显示日志输出的代码:
try {
Iterator keys = body.keys();
Log.d(LOG_TAG, "JSON data:");
while (keys.hasNext()) {
String key = (String) keys.next();
Log.d(LOG_TAG, " " + key + ": " + body.get(key));
params.put(key, body.get(key).toString());
}
} catch (JSONException e) {
Log.w(LOG_TAG, "Unable to retrieve a JSON value", e);
}
假设当我在文本正文中输入类似于 {"a"="test1", "b"= test2"} 的数据时,我会在 logcat 中得到以下内容:
12-31 09:09:22.631 1991-1991/com.loopj.android.http.sample D/JsonStreamSample: JSON data:
12-31 09:09:22.631 1991-1991/com.loopj.android.http.sample D/JsonStreamSample: a: asd
12-31 09:09:22.632 1991-1991/com.loopj.android.http.sample D/JsonStreamSample: b: ert"
看起来不错;但是,parse.com 不会记录输入的数据。相反,当文本框为空时,它会很好地创建对象(但没有不需要的数据)。在我看来,Android 和 parse.com 中的 JSON 没有相同的格式。