Android JSON 是一个非常方便的数据交换格式。在Android应用程序中,使用JSON格式可以方便地传递数据。下面是一个简单的示例,演示如何在Android中使用JSON。
{ "name": "john","age": 28 }
上面的代码片段表示一个简单的JSON对象,它有两个属性:name和age。在Android中,可以使用JSONObject类来处理这个JSON对象。
try { JSONObject object = new JSONObject(jsonString); String name = object.getString("name"); int age = object.getInt("age"); Log.d(TAG,"name: " + name + ",age: " + age); } catch (JSONException e) { e.printstacktrace(); }
上面的代码片段解析了一个JSON字符串,并从中提取了name和age属性。如果JSON字符串无效,则会发生JSONException。
下面是一个更完整的示例,演示如何从互联网上获取JSON数据,并将其显示在Android应用程序中:
class FetchDataTask extends AsyncTask{ @Override protected String doInBackground(Void... voids) { try { URL url = new URL("https://example.com/data.json"); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); InputStream in = new BufferedInputStream(urlConnection.getInputStream()); BufferedReader reader = new BufferedReader(new InputStreamReader(in)); StringBuilder builder = new StringBuilder(); String line; while ((line = reader.readLine()) != null) { builder.append(line); } in.close(); urlConnection.disconnect(); return builder.toString(); } catch (IOException e) { e.printstacktrace(); return null; } } @Override protected void onPostExecute(String jsonString) { try { JSONObject object = new JSONObject(jsonString); String name = object.getString("name"); int age = object.getInt("age"); TextView nameView = findViewById(R.id.name); TextView ageView = findViewById(R.id.age); nameView.setText(name); ageView.setText(String.valueOf(age)); } catch (JSONException e) { e.printstacktrace(); } } } FetchDataTask task = new FetchDataTask(); task.execute();
上面的代码片段使用了AsyncTask来从互联网上获取JSON数据。首先,它创建了一个URL对象,并打开了一个HTTP连接。然后,它从输入流中读取数据,并将其存储在一个StringBuilder对象中。最后,它关闭了连接,并返回JSON字符串。
在onPostExecute方法中,它解析JSON字符串,并将其显示在名为name和age的两个TextView中。请注意,AsyncTask是异步的,因此它在后台线程中执行,而不会阻塞UI线程。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。