码迷,mamicode.com
首页 > 移动开发 > 详细

android中json得解析

时间:2015-05-24 23:18:30      阅读:290      评论:0      收藏:0      [点我收藏+]

标签:

今天按照书上试了试json的解析

这里使用了两种方法来对json数据进行解析

1.利用JSONObject来解析 2.利用谷歌的开源库GSON来进行解析

一、利用JSONObject来进行解析

 在服务器下建立json文件get_data.json如下:

{
"employees": [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName":"Carter" }
],
"result":[
{"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"}
]
}

然后再项目中建立代码:
主要代码如下:

..................................

private void sendRequestWithHttpClient() {

// TODO Auto-generated method stub

new Thread(new Runnable() {

 

@Override

public void run() {

// TODO Auto-generated method stub

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) {

// TODO: handle exception

e.printStackTrace();

}

 

}

 

private void parseJSONWithJSONObject(String response) {

// TODO Auto-generated method stub

try {

JSONObject jsonObject = new JSONObject(response);

JSONArray resultArray = jsonObject.getJSONArray("result");

JSONObject subObject = resultArray.getJSONObject(0);

String id = subObject.getString("id");

String name = subObject.getString("name");

String version = subObject.getString("version");

Log.d("MainActivity", "id is " + id);

Log.d("MainActivity", "name is " + name);

Log.d("MainActivity", "version is " + version);

 

} catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}

 

}

}).start();

 

}

结果:


技术分享

 

 

 

二、使用GSON来解析json

  

  建立json文件get_data2.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"}]

 

更改主要文件为:

private void parseJSONWidthGSON(String response) {

// TODO Auto-generated method stub

Gson gson =new Gson();

List<App> appList = gson.fromJson(response,new TypeToken<List<App>>(){}.getType());

for (App app : appList) {

Log.d("MainActivity","id is "+app.getId());

Log.d("MainActivity","id is "+app.getName());

Log.d("MainActivity","id is "+app.getVersion());

}

 

}

 

 

结果:

技术分享

。。。。。。。

 

android中json得解析

标签:

原文地址:http://www.cnblogs.com/anumbrella/p/4526525.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!