在Android开发中,我们经常需要通过网络请求获取数据,并且使用JSON格式进行数据交互。JSON是轻量级的数据交换格式,它具有易于阅读和编写,易于机器解析和生成的特点。为了使用JSON数据,我们需要先从URL中获取数据。
public class MainActivity extends AppCompatActivity { private String url = "https://jsonplaceholder.typicode.com/posts/1"; private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = findViewById(R.id.text_view); new GetJsonTask().execute(url); } private class GetJsonTask extends AsyncTask{ @Override protected String doInBackground(String... strings) { String result = ""; try { URL url = new URL(strings[0]); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); InputStream inputStream = connection.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); StringBuilder stringBuilder = new StringBuilder(); String line; while ((line = reader.readLine()) != null) { stringBuilder.append(line); } reader.close(); result = stringBuilder.toString(); } catch (IOException e) { e.printstacktrace(); } return result; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); try { JSONObject jsonObject = new JSONObject(s); String title = jsonObject.getString("title"); String body = jsonObject.getString("body"); textView.setText("Title: " + title + "\n\nBody: " + body); } catch (JSONException e) { e.printstacktrace(); } } } }
上面的代码演示了如何从URL中获取JSON数据,并且将获取到的JSON数据解析成JSONObject。在AsyncTask的doInBackground方法中,我们创建一个URL对象并打开连接,然后获取输入流并读取数据。获取到的数据使用StringBuilder拼接起来,并返回字符串结果。在onPostExecute方法中,我们使用JSONObject类解析JSON数据,并获取title和body属性值。最后将获取到的结果设置到TextView上。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。