在Java中打印多维json数组

时间:2019-03-22 15:26:57

标签: java android arrays json list

我的应用程序从服务器获取JSON响应。响应字符串具有多个行和列。我需要在Java中打印。

这是我的JSON响应:

[
  {
    "name": "name2",
    "id": "99",
    "email": "ad@e.com"
  },
  {
    "name": "zca",
    "id": "96",
    "email": "as2c2@d.d",
  }
]

这是Java部分:

    OkHttpClient client = new OkHttpClient();

    String url = ServerConstants.BROWSE_URL;
    //String url = "https://reqres.in/api/users?page=2";

    Request request = new Request.Builder()
            .url(url)
            .build();

    client.newCall(request).enqueue(new Callback()
    {
        @Override
        public void onFailure(Call call, IOException e)
        {
            e.printStackTrace();
        }

        @Override
        public void onResponse(Call call, Response response) throws IOException
        {
            if (response.isSuccessful())
            {
                final String myResponse = response.body().string();
                //System.out.println(Arrays.asList(new BundleFunctions().MakeArrayListFormJSON(myResponse)));
                bundle = new BundleFunctions().MakeBundleFromJSON(myResponse);
                //System.out.println("this is size ------- "+bundle.size());
                //System.out.println("this is response ------ "+myResponse);
                Browse.this.runOnUiThread(new Runnable()
                {
                    @Override
                    public void run()
                    {
                        tv.setText(myResponse);

                        Set<String> keys = bundle.keySet();

                        for(String key : keys)
                        {
                            Object o = bundle.get(key);
                        }
                    }
                });
            }
        }
    });

我需要在java中像这样的每个人上打印:

(人员号取决于数组索引FCFS)

人员1-名称:name2,id:99,电子邮件:ad@e.com

人员2-名称:zca,id:96,电子邮件:as2c2@d.d

请告诉我最简单的方法

2 个答案:

答案 0 :(得分:1)

JSON非常清楚,在您的案例Array对象中,ObjectsPerson的对象,创建Person POJO类

人员

public class Person {

 private String name;

 private String id;

 private String email;

 // getters and setters

 }

将上述json解析为List<Person>,并根据需要打印每个Person

答案 1 :(得分:0)

您的JSON示例看起来不是多维数组。它是一个带有一堆对象的数组。如果这是针对Java的,为什么不使用jackson或GSon或类似的库来获取数组列表中的对象!您只需定义一个POJO对象,该对象的变量名与getter和setter匹配。