我对Android中的Java编程比较陌生,所以我对如何处理来自服务器的传入JSON数据的理解有一个基本的问题。
JsonArrayRequest jsonRequest = new JsonArrayRequest(
Request.Method.GET, completeURL, null, new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
try {
// just use this JSONArray?
}
catch (JSONException e) {
e.printStackTrace();
}
}
}, ...
我知道Gson库,但因此我必须创建一个数据模型。我的JSON数据相对复杂,因此需要付出一点努力。
当我只使用创建的JSONArray并将其传递给活动时会不好(以及为什么?)?
答案 0 :(得分:1)
是的,您可以使用变量响应检查下面的代码片段。
JsonArrayRequest jsonRequest = new JsonArrayRequest(
Request.Method.GET, completeURL, null, new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
try {
// Parsing json array response
// loop through each json object
for (int i = 0; i < response.length(); i++) {
JSONObject jsonObject = (JSONObject) response.get(i);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, ...
答案 1 :(得分:1)
首先,您可以将JSON作为响应并选择必填字段/将其传递给其他活动。
始终建议将序列化和业务逻辑分开。如果您使用JSON对象移动活动,那么您将混合它们。
因此,当您的项目进展并且您与API服务器有稳定的合同时,您可以考虑引入POJO类。有很多像Jackson,Gson等库可以帮助你转换JSON&lt; ==&gt; POJO。
参考:Should serialization logic be in the entity or other class
答案 2 :(得分:0)
我决定用GSON创建一个数据模型,我不得不说这是最好的决定。
每个想到这一点的人。去吧!