Java Android-解析片段中的复杂json(listview)
如何在片段(listview)中解析复杂的json数据。我无法保存片段中的所有json数据 错误 Json数据Java Android-解析片段中的复杂json(listview),java,android,json,listview,android-fragments,Java,Android,Json,Listview,Android Fragments,如何在片段(listview)中解析复杂的json数据。我无法保存片段中的所有json数据 错误 Json数据 { "users": [{ "userId": 1, "name": "Dya Vega", "profilePhoto": "https://graph.facebook.com/1301454197/picture?type=large", "dateMatched": "1/1/2015",
{
"users": [{
"userId": 1,
"name": "Dya Vega",
"profilePhoto": "https://graph.facebook.com/1301454197/picture?type=large",
"dateMatched": "1/1/2015",
"distance": "1 miles away",
"status": "Online",
"requestMessage": "Hi, can I know you?",
"like": 234,
"lastActive": "Active 1 hour ago"
}, {
"userId": 2,
"name": "Esa Ezzatinor",
"profilePhoto": "https://graph.facebook.com/1269334432/picture?type=large",
"dateMatched": "1/1/2015",
"distance": "2 miles away",
"status": "Online",
"requestMessage": "Hi, can I know you?",
"like": 234,
"lastActive": "Active 2 hour ago"
}]
}
HistoryFragment.java
public class HistoryFragment extends Fragment {
...
// Creating volley request obj
JsonArrayRequest userReq = new JsonArrayRequest(url,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
Log.d(TAG, response.toString());
hidePDialog();
// Parsing json
for (int i = 0; i < response.length(); i++) {
try {
JSONObject obj = response.getJSONObject(i);
User user = new User();
User.setName(obj.getString("name")); // error here
User.setThumbnailUrl(obj.getString("profilePicture")); // error here
User.setLastLogin(obj.getString("lastLogin")); // and here
// adding user to users array
userList.add(user);
} catch (JSONException e) {
e.printStackTrace();
}
}
// notifying list adapter about data changes
// so that it renders the list view with updated data
adapter.notifyDataSetChanged();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
hidePDialog();
}
});
...
}
您应该将
methods
设置为UserclassObject
like
User user = new User();
user.setName(obj.getString("name"));
user.setThumbnailUrl(obj.getString("profilePicture"));
user.setLastLogin(obj.getString("lastLogin"));
您只能通过创建该类的对象来访问所有用户类方法。与
用户
类中一样,所有方法都是非静态的
,但尝试使用类名访问所有方法(仅使用类名访问静态方法)
创建类对象以访问所有方法
User user = new User();
现在使用user
从用户类访问所有getter/setter方法
若要访问所有方法,而不使用当前使用的类名创建对象,则在用户类中使用所有方法添加static 只需在实例而不是类上调用setter,即在用户而不是用户上调用setter。。。这看起来像是一个输入错误:)添加到上面使用GSON,这将很容易完成您的任务。您可以在我的问题中检查我的模型:)对不起,我的错误。假设用户是用户。该死..我得到了这个:这行有多个标记-不能在静态上下文中使用-行断点:User[line:20]-setName(String)@Dato'MohammadNurdin:我希望您知道:
您只能访问静态方法中的静态变量或方法
有什么区别?您只能通过创建该类的对象
来访问所有用户
类方法。
User user = new User();