[英]Create object from JSON with Parse & Java for Android
我最近開始進行Android開發,正在使用Parse.com和本機Java來構建應用程序。 我正在嘗試做的事情是弄清楚如何通過Parse Parse.com的回調從JSON結果創建對象。
{
"result":
{
"count": 3,
"lang": "en-US",
"tasks": [
{
"ID": "0123",
"Name": "Task 1",
"AssingedTo": "Darxval",
"Scope": "Home"
},
{
"ID": "0124",
"Name": "Task 2",
"AssingedTo": "Darxval",
"Scope": "Home"
},
{
"ID": "0125",
"Name": "Task 3",
"AssingedTo": "Darxval",
"Scope": "Home"
}
]
}
}
我通過Parse調用的方法如下所示。 (有關此方法的更多信息,請參見文檔): 解析文檔
ParseCloud.callFunctionInBackground("RetrieveTasks", new HashMap<String, Object>(), new FunctionCallback<Object>() {
void done(Object result, ParseException e) {
if (e == null) {
// do stuff with object
}
}
});
我試圖將Function回調更改為一個類,該類采用以一堆字符串和Task對象的ListArray描述的json形式。 但是它不會創建對象。 它總是想使用HashMap。 有沒有辦法將數據變成我想要的對象而不是HashMap? 我是否需要在對象上“實現”一個接口以允許在回調中創建對象?
任何幫助,將不勝感激。
什么對象添加到HashMap? 它是JSONObject嗎? 如果是這樣,則可以使用構造函數將JSONObject轉換為要查找的任何自定義對象,並轉換JSONObject中的數據。
例如,如果返回的JSONObject稱為“輸出”:
try {
JSONObject result = output.getJSONObject("result");
int count = result.getInt("count");
String lang = result.getString("lang");
JSONArray tasks = result.getJSONArray("tasks");
JSONObject firstObjectInArray = tasks.getJSONObject(0);
String firstID = firstObjectInArray.getString("ID");
} catch (JSONException e) {
e.printStackTrace();
}
等等
然后使用您的Object的構造函數創建一個新的對象:
Object obj = new Object(count, lang, firstID);
等等
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.