Android:网络:获取JSON格式数据
来源:互联网 发布:深圳网络出租屋牌照 编辑:程序博客网 时间:2024/06/06 17:24
public class News {
private Integer id;
private String title;
private Integer timelength;
...
}
ListView listView = (ListView) this.findViewById(R.id.listView);
try {List<News> videos = VideoNewsService.getJSONLastNews();//需修改成你本机的Http请求路径
List<HashMap<String, Object>> data = new ArrayList<HashMap<String,Object>>();
for(News news : videos){
HashMap<String, Object> item = new HashMap<String, Object>();
item.put("id", news.getId());
item.put("title", news.getTitle());
item.put("timelength", getResources().getString(R.string.timelength)
+ news.getTimelength()+ getResources().getString(R.string.min));
data.add(item);
}
SimpleAdapter adapter = new SimpleAdapter(this, data, R.layout.item,
new String[]{"title", "timelength"}, new int[]{R.id.title, R.id.timelength});
listView.setAdapter(adapter);
public static List<News> getJSONLastNews() throws Exception{
String path = "http://192.168.0.168:8080/web/ListServlet";
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5000);
conn.setRequestMethod("GET");
if(conn.getResponseCode() == 200){
InputStream inStream = conn.getInputStream();
return parseJSON(inStream);
}
return null;
}
/**
* 解析JSON数据
* @param inStream
* @return
*/
private static List<News> parseJSON(InputStream inStream) throws Exception{
List<News> newses = new ArrayList<News>();
byte[] data = StreamTool.read(inStream);
String json = new String(data);
JSONArray array = new JSONArray(json);
for(int i = 0 ; i < array.length() ; i++){
JSONObject jsonObject = array.getJSONObject(i);
News news = new News(jsonObject.getInt("id"), jsonObject.getString("title"), jsonObject.getInt("timelength"));
newses.add(news);
}
return newses;
}
Servlet:
List<News> videos = service.getLastNews();
// [{id:56,title:"xxxxx",timelength:90},{id:16,title:"xbbx",timelength:20}]
StringBuilder builder = new StringBuilder();
builder.append('[');
for(News news : videos){
builder.append('{');
builder.append("id:").append(news.getId()).append(',');
builder.append("title:\"").append(news.getTitle()).append("\",");
builder.append("timelength:").append(news.getTimelength());
builder.append("},");
}
builder.deleteCharAt(builder.length() - 1);
builder.append(']');
request.setAttribute("json", builder.toString());
request.getRequestDispatcher("/WEB-INF/page/jsonvideonews.jsp").forward(request, response);
JSP:
<%@ page language="java" contentType="text/plain; charset=UTF-8" pageEncoding="UTF-8"%>${json}
- Android:网络:获取JSON格式数据
- 从网络获取JSON格式数据
- 获取网络Json格式数据-使用原生态解析Json
- Android网络数据Json格式解析
- Android网络数据Json格式解析
- Android:网络:获取XML格式数据
- Android获取网络XML/JSON数据
- Android 网络获取数据之Json解析
- Android 从网络获取json格式的视频资讯
- android端获取网络json格式动态生成二维数组
- Android之网络编程(四)解析 JSON 格式数据
- ajax--json格式获取数据
- ajax获取json格式数据
- 获取JSON格式数据长度
- Android调用接口,获取并解析数据(json格式)
- json 格式,以及json数据获取
- Android - 网络编程 - JSON - 格式
- Android之从网络中获取数据并返回客户端的两种方式:XML格式返回与Json格式返回
- WebViewClient 的方法全解
- Java Web学习总结(9)——servlet和Jsp生命周期解读
- linux下node-webkit自动跨平台打包shell
- android 广播的简单使用
- 《Java编程思想》学习笔记4——集合容器
- Android:网络:获取JSON格式数据
- curl传参
- 测试计划的制定
- UGUI脚本记录
- hdu 1281 棋盘游戏 二分图最大匹配
- Mysql学习总结(7)——MySql索引原理与使用大全
- sublime侧边栏设为黑色的,以及主题切换,以及常用快捷键
- jquery的事件绑定与解绑定-on
- 获取手机最高权限代码