我可以使用JSONArray而不是创建数据模型吗?

时间:2018-02-05 11:22:16

标签: java android arrays json

我对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并将其传递给活动时会不好(以及为什么?)?

3 个答案:

答案 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创建一个数据模型,我不得不说这是最好的决定。

每个想到这一点的人。去吧!