解析 JSON 格式数据
2016-07-05 23:39
309 查看
比起
XML,JSON的主要优势在于它的体积更小,在网络上传输的时候可以更省流量。但缺点在于,它的语义性较差,看起来不如XML
直观。
我们还需要在C:\Apache\Apache2\htdocs目录中新建一个
get_data.json
的
文件,然后编辑这个文件,并加入如下
JSON 格式的内容:
[{"id":"5","version":"5.5","name":"Angry Birds"}, {"id":"6","version":"7.0","name":"Clash of Clans"}, {"id":"7","version":"3.5","name":"Hey Day"}]修改MainActivity 中的代码,如下所示:
public class MainActivity extends Activity implements OnClickListener { …… private void sendRequestWithHttpClient() { new Thread(new Runnable() { @Override public void run() { try { HttpClient httpClient = new DefaultHttpClient(); // 指定访问的服务器地址是电脑本机 HttpGet httpGet = new HttpGet("http://10.0.2.2/ get_data.json"); HttpResponse httpResponse = httpClient.execute(httpGet); if (httpResponse.getStatusLine().getStatusCode() == 200) { // 请求和响应都成功了 HttpEntity entity = httpResponse.getEntity(); String response = EntityUtils.toString(entity, "utf-8"); parseJSONWithJSONObject(response); } } catch (Exception e) { e.printStackTrace(); } } }).start(); } …… private void parseJSONWithJSONObject(String jsonData) { try { JSONArray jsonArray = new JSONArray(jsonData); for (int i = 0; i < jsonArray.length(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); String id = jsonObject.getString("id"); String name = jsonObject.getString("name"); String version = jsonObject.getString("version"); Log.d("MainActivity", "id is " + id); Log.d("MainActivity", "name is " + name); Log.d("MainActivity", "version is " + version); } } catch (Exception e) { e.printStackTrace(); } } }
可以看到,解析 JSON 的代码真的是非常简单,由于我们在服务器中定义的是一个JSON 数组,因此这里首先是将服务器返回的数据传入到了一个 JSONArray 对象中。然后循环遍历这个 JSONArray,从中取出的每一个元素都是一个JSONObject 对象,每个 JSONObject 对象中又会包含 id、name和version这些数据。接下来只需要调用 getString()方法将这些数据取出,并打印出来即可。
相关文章推荐
- android实现json数据的解析和把数据转换成json格式的字符串
- Android中的xml、json格式数据解析
- C# 解析JSON格式数据
- JSON 数据格式解析
- Android学习系列(20)--App数据格式之解析Json
- 在spring mvc中解析输入为json格式的数据有两种方式
- App数据格式之解析Json
- python解析json格式的天气数据
- android学习---使用GSON解析JSON格式数据
- android 解析json数据格式
- android 解析json数据格式
- JS解析后台返回的JSON格式数据
- JSON 体验JSON (三)JSON 数据格式解析(转载)
- C# 解析JSON数据格式 Mono 源码
- C#解析Json格式数据小结
- JSON数据格式的解析与序列化
- Android数据格式解析对象JSON用法
- iOS中解析json格式数据的各种方法调用
- C# 解析JSON格式数据
- Android中解析JSON格式数据常见方法合集