问题描述
我正在浏览提供的
那里的文档说了关于创建对象并通过CURL和Python API调用将其存储在解析中的信息。
使用POST请求创建对象的CURL请求如下所示:
curl -X POST \
-H "X-Parse-Application-Id: ${APPLICATION_ID}" \
-H "X-Parse-REST-API-Key: ${REST_API_KEY}" \
-H "Content-Type: application/json" \
-d '{"score":1337,"playerName":"Sean Plott","cheatMode":false}' \
https://api.parse.com/1/classes/GameScore
我想知道如何使用Java发送这样的请求。
1楼
有许多Parse.com第三方API库:
来自
爪哇
- -一种模仿Android API的Java REST API。
- api-该库在Java中使用libgdx和playN的开放接口实现parse.com的REST API。
- — REST API的库。
- —解析Android SDK替代。
您可能需要先评估它们,然后再建立自己的parse.com接口。
2楼
但是,Parse.com Almonds库中存在一个问题。 存储日期或其他类似的复杂对象结构时出现问题。
我遇到了相同的问题,并修复了Almonds库代码来解决此问题。 现在,我可以像其他任何数据类型一样保存日期。
用以下代码替换ParseObject.java(在Almonds库中)中的toJSONObject()方法:
// Define the following class level static variables
private static final String DATE_CLASS = "java.util.Date";
private static final String DATA_TYPE = "__type";
private static final String DATA_ISO = "iso";
private JSONObject toJSONObject() {
JSONObject jo = new JSONObject();
// TODO - Girish Sharma: Extend this code to save other complex data types
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
Object obj = null;
try {
for (String key : mData.keySet()) {
obj = get(key);
String className = obj.getClass().getName();
// Switch over the data types
if (className == DATE_CLASS) {
JSONObject dateObj = new JSONObject();
dateObj.put(DATA_TYPE, "Date");
dateObj.put(DATA_ISO, formatter.format(obj));
jo.put(key, dateObj);
}
else {
jo.put(key, obj);
}
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return jo;
}