Java 如何通过JSON从URL获取数据

Java 如何通过JSON从URL获取数据,java,android,json,Java,Android,Json,世界银行给了我一个URL,并告诉我从中获取数据。我检查了JSON api页面,但不知道从哪里开始。这是一个我正在练习的Android应用程序,我必须选择一些指标并通过该URL获取数据。我需要知道从哪里开始,以及一些关于使用JSON的基本建议。作为一名程序员,如果你有一个url可以从中获取数据,你会如何开始呢 String myDataString = "URL STRING"; String dataString = new String(); 您可能想从如何解析远程JSON的教程开

世界银行给了我一个URL,并告诉我从中获取数据。我检查了JSON api页面,但不知道从哪里开始。这是一个我正在练习的Android应用程序,我必须选择一些指标并通过该URL获取数据。我需要知道从哪里开始,以及一些关于使用JSON的基本建议。作为一名程序员,如果你有一个url可以从中获取数据,你会如何开始呢

String myDataString = "URL STRING"; 
    String dataString = new String();

您可能想从如何解析远程JSON的教程开始:

您可能想从如何解析远程JSON的教程开始:

我最近做了一个android项目,从远程服务器上的JSON文件中获取数据。我用过这样的东西

public void getData(String URL) {
    AsyncTask<String,String,String> getTask = new AsyncTask<String,String,String>(){
        @Override
        protected String doInBackground(String... params) {
            String response = "";
            try{
                URL url = new URL(params[0]);
                HttpURLConnection urlConnection = (HttpURLConnection)
                        url.openConnection();
                BufferedReader
                reader = new
                BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
                String line = "";
                while((line = reader.readLine()) != null){
                    response += line + "\n";
                }
            } catch (Exception e){
            }
            return response;
        }

        protected void onPostExecute(String result) {
            System.out.println(result);
        }
    };
    getTask.execute(URL);
}
因此,您需要执行异步任务,以避免活动在等待响应时崩溃。它打开一个urlConnection,启动一个bufferedReader,并在找到更多行时继续读取。完成后,它将结果打印到控制台


我发现这种方式在从JSON获取数据到android应用程序时最为常见。如何操作数据取决于您,有些使用字符串,有些使用JSON对象

我最近做了一个android项目,从远程服务器上的json文件获取数据。我用过这样的东西

public void getData(String URL) {
    AsyncTask<String,String,String> getTask = new AsyncTask<String,String,String>(){
        @Override
        protected String doInBackground(String... params) {
            String response = "";
            try{
                URL url = new URL(params[0]);
                HttpURLConnection urlConnection = (HttpURLConnection)
                        url.openConnection();
                BufferedReader
                reader = new
                BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
                String line = "";
                while((line = reader.readLine()) != null){
                    response += line + "\n";
                }
            } catch (Exception e){
            }
            return response;
        }

        protected void onPostExecute(String result) {
            System.out.println(result);
        }
    };
    getTask.execute(URL);
}
因此,您需要执行异步任务,以避免活动在等待响应时崩溃。它打开一个urlConnection,启动一个bufferedReader,并在找到更多行时继续读取。完成后,它将结果打印到控制台

我发现这种方式在从JSON获取数据到android应用程序时最为常见。如何操作数据取决于您,有些使用字符串,有些使用JSON对象