Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中从Web服务读取json数组返回_Java_Arrays - Fatal编程技术网

如何在java中从Web服务读取json数组返回

如何在java中从Web服务读取json数组返回,java,arrays,Java,Arrays,我从一家网络服务公司收到了这份报告: [{"id_professor":"1","nome":"Ana Paula","email":"ana@gmail.com"},{"id_professor":"2","nome":"Beatriz de Souza","email":"beatriz@gmail.com"},{"id_professor":"3","nome":"Carlos da Silva","email":"carlos@gmail.com"},{"id_professor":"4

我从一家网络服务公司收到了这份报告:

[{"id_professor":"1","nome":"Ana Paula","email":"ana@gmail.com"},{"id_professor":"2","nome":"Beatriz de Souza","email":"beatriz@gmail.com"},{"id_professor":"3","nome":"Carlos da Silva","email":"carlos@gmail.com"},{"id_professor":"4","nome":"Dion\u00edsio Mathias","email":"dionisio@gmail.com"},{"id_professor":"5","nome":"Eduardo Paiva","email":"eduardo@gmail.com"}]
我喜欢读这个jsonArray

我有这个代码:

  URL endWeb = new URL("http://editalmais.com.br/concurso/blank_json_professor_curso/");
            HttpURLConnection con =  (HttpURLConnection) endWeb.openConnection();

                con.setReadTimeout(10000);
                con.setConnectTimeout(15000);
               con.setDoInput(true);
                con.setDoOutput(false);
                con.setRequestMethod("GET");


            int respCon = con.getResponseCode();

            if ( respCon < HttpURLConnection.HTTP_BAD_REQUEST){

                Log.i("conexao", "Realizada com sucesso");
                strings =  new ArrayList<String>();
                InputStream is = con.getInputStream();
                BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));

                StringBuilder sb = new StringBuilder();
                String line = null;

                while ( ( line = reader.readLine()) != null){

                    sb.append(line);

                }
                is.close();
URL endWeb=新URL(“http://editalmais.com.br/concurso/blank_json_professor_curso/");
HttpURLConnection con=(HttpURLConnection)endWeb.openConnection();
con.setReadTimeout(10000);
con.设置连接超时(15000);
con.setDoInput(真);
con.设置输出(假);
con.setRequestMethod(“GET”);
int respCon=con.getResponseCode();
if(respCon

在这里之前一切正常……但我没有得到值。

从api获得响应并按如下方式解析json后,只需将响应作为字符串传递给下面的方法:

 public ArrayList<Example> getList(String json){
    ArrayList<Example> arrayList = new ArrayList<>();
    try {
        JSONArray jsonArray = new JSONArray(json);
        for (int count = 0; count<jsonArray.length(); count++){
            Example example = new Example();
            JSONObject jsonObject = jsonArray.getJSONObject(count);
            example.setIdProfessor(jsonObject.getString("id_professor"));
            example.setEmail(jsonObject.getString("email"));
            example.setNome(jsonObject.getString("nome"));
            arrayList.add(example);
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }
    return arrayList;
}

谢谢…现在我可以在控制台上看到记录,但无法返回列表…我做错了什么…字符串返回的类型不兼容…我假设您在异步任务的doInBackground()中执行所有这些操作,只需在string builder对象上调用toString(),并将其作为onPostExecute(string json)中的参数然后调用上面的方法来获得一个列表。我对主活动con.execute(url)的调用;…..然后我尝试了list并显示了一个错误。。。。
    public class Example {

private String idProfessor;

private String nome;

private String email;

public String getIdProfessor() {
return idProfessor;
}

public void setIdProfessor(String idProfessor) {
this.idProfessor = idProfessor;
}

public String getNome() {
return nome;
}

public void setNome(String nome) {
this.nome = nome;
}

public String getEmail() {
return email;
}

public void setEmail(String email) {
this.email = email;
}

}