使用.net创建一个ashx文件,并response.write json格式
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
StringBuilder jsonBuilder = new StringBuilder();
jsonBuilder.Append("{\"parent\":");
jsonBuilder.Append("{\"children\":");
jsonBuilder.Append("[");
jsonBuilder.Append("{\"id\":\"11111\",\"title\":\"aaaaaaa\",\"name\":\"111111111aaaaaaaaaa\"},");
jsonBuilder.Append("{\"id\":\"22222\",\"title\":\"bbbbbbb\",\"name\":\"222222222aaaaaaaaaa\"},");
jsonBuilder.Append("{\"id\":\"33333\",\"title\":\"ccccccc\",\"name\":\"33333333aaaaaaaaaa\"}");
jsonBuilder.Append("]}}");
context.Response.Write(jsonBuilder.ToString());
}
android代码
public class HttpClient_Get_Activity extends Activity {
public TextView myTextView = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
this.setContentView(R.layout.httpget_httpclient_activity);
Button btn = (Button)this.findViewById(R.id.button1);
btn.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
new ReadHttpGet().execute("http://190.160.10.79:7890/handler1.ashx");
}
});
}
class ReadHttpGet extends AsyncTask<Object, Object, Object>
{
@Override
protected Object doInBackground(Object... params) {
// TODO Auto-generated method stub
HttpGet httpRequest = new HttpGet(params[0].toString());
try
{
HttpClient httpClient = new DefaultHttpClient();
HttpResponse httpResponse = httpClient.execute(httpRequest);
if(httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK)
{
String strResult = EntityUtils.toString(httpResponse.getEntity());
return strResult;
}
else
{
return "请求出错";
}
}
catch(ClientProtocolException e)
{
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
protected void onCancelled(Object result) {
// TODO Auto-generated method stub
super.onCancelled(result);
}
@Override
protected void onPostExecute(Object result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
try
{
//创建一个JSON对象
JSONObject jsonObject = new JSONObject(result.toString()).getJSONObject("parent");
//获取某个对象的JSON数组
JSONArray jsonArray = jsonObject.getJSONArray("children");
StringBuilder builder = new StringBuilder();
for(int i = 0; i<jsonArray.length(); i++)
{
//新建一个JSON对象,该对象是某个数组里的其中一个对象
JSONObject jsonObject2 = (JSONObject)jsonArray.opt(i);
builder.append(jsonObject2.getString("id")); //获取数据
builder.append(jsonObject2.getString("title"));
builder.append(jsonObject2.getString("name"));
}
myTextView.setText(builder.toString());
}
catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
//super.onPreExecute();
Toast.makeText(getApplicationContext(), "开始HTTP GET请求", Toast.LENGTH_LONG).show();
}
@Override
protected void onProgressUpdate(Object... values) {
// TODO Auto-generated method stub
super.onProgressUpdate(values);
}
}
}
android中json的浅薄理解
JSONObject 表示形式 {"key" : "value"}
JSONArray 表示形式 [{"key" : "value"},{"key" : "value"},{"key" : "value"}],JSONArray里面包含多个JSONObject
访问时通过 JSONObject对象去访问,使用 jsonObject.getXXX("key")得到相应的值
一般解析JSON都使用这两个。
相关推荐
Android客户端向服务器端请求数据的两种主要方式:HTTPURLConnection、HTTPClient;内含客户端与服务器端Demo(带有详细注释),原生方式解析json数据,希望大家多多批评指教!!
该Demo主要介绍使用HttpClient获取网络数据,然后经过JSON后显示出来。另外本文章用到了常用的异步加载技术,AsyncTask类。
Android请求服务器和解析数据,包含8个实例代码:android_json,android访问网络返回的XML数据并且进行解析,httpclient获取到JSON数据并展示到ListView,Json数据解析服务器端加客户端代码等等。
5)本demo可以直接运行 本来想测试protobuf进行数据处理的 要放在github上就改成json了(entity中有简单的xml解析:Menu.java 其他的都是json的 json 也可用Gson更方便) 博客链接使用说明:...
1、volley ... (6) json解析(支持解析成集合或者对象) (7) 数据库(不知道是哪位写的 忘记了) (8) 多线程断点下载(自动判断是否支持多线程,判断是否是重定向) (9) 自动更新模块 (10) 一系列工具类
【实验要求】 1、 练习使用 HttpClient 建立网络连接,访问网络数据 2、 练习 XML 数据解析方法 3、 完成实验报告 二、实验内容 1、 电脑连接网络; 2、 新建 Android 应用程序项目 WeatherClient; 3、 业务逻辑代码...
1.4.2 通过ADT运行Android应用 23 1.5 Android应用结构分析 24 1.5.1 创建一个Android应用 24 1.5.2 自动生成的R.java 26 1.5.3 res目录说明 27 1.5.4 Android应用的清单文件: AndroidManifest.xml ...
12.3 JSON解析 12.4 Gson 12.4.1 简单对象类型转换 12.4.2 数组和集合类型转换 12.5 xStream 12.6 本章小结 第四篇 Android应用开发案例 第13章 Ksoap2 13.1 SOAP协议 13.1.1 请求 13.1.2 响应 13.2 WSDL介绍 13.3 ...
简单总结各个框架的使用,以Get请求、JSON解析、图片加载为例。 分别使用6个框架HttpURLConnection、HttpClient、AndroidAsyncHttp、Volley、OkHttp、Retrofit2 包中有服务器数据,可做样例数据使用 详细总结:...
11.1.8 使用AndroidHttpClient 11.1.9 使用后台线程(AsyncTask) 11.1.10 使用AsyncTask处理配置更改 11.1.11 使用DownloadManager获取文件 11.2 使用Android服务 11.2.1 Android中的服务 11.2.2...
定制化,自定义json解析库,支持请求参数,返回内容预处理。 易用性,简单易用,只需几行代码即可完成请求,可随意设置cookie、http头部等信息。 功能 1、普通get请求 2、普通post请求 3、Form表单提交数据 4、...
第1章 Android应用与开发环境 1 1.1 Android的发展和历史 2 1.1.1 Android的发展和简介 2 1.1.2 Android平台架构及特性 3 1.2 搭建Android开发环境 5 1.2.1 下载和安装Android SDK 5 1.2.2 安装Eclipse和ADT插件 7 ...
第1章 Android应用与开发环境 1 1.1 Android的发展和历史 2 1.1.1 Android的发展和简介 2 1.1.2 Android平台架构及特性 3 1.2 搭建Android开发环境 5 1.2.1 下载和安装Android SDK 5 1.2.2 安装Eclipse和ADT插件 7 ...
11.1.8 使用AndroidHttpClient 11.1.9 使用后台线程(AsyncTask) 11.1.10 使用AsyncTask处理配置更改 11.1.11 使用DownloadManager获取文件 11.2 使用Android服务 11.2.1 Android中的服务 11.2.2...
|--android 根据uri获取路径 |--android 模拟器错误 |--android 横竖屏切换 |--android 获取mac地址 |--android 获取sd卡状态 |--android 设置apn |--android 调节屏幕亮度 |--android 资源uri |--android 还原短信 ...
菜谱大全APP 输入关键词查询菜谱的安卓APP,曰菜谱大全,调用了聚合数据的API,用html做UI ...练习一下安卓HTTPClient,json的解析,类的封装。 采用http post方式请求数据(非聚合的SDK),appkey随时会失效。
HTTP实现替换HttpClient为UrlConnection, 自动解析回调泛型, 更安全的断点续传策略. 支持标准的Cookie策略, 区分domain, path. 事件注解去除不常用的功能, 提高性能. 数据库api简化提高性能, 达到和greenDao一致的...
2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...
2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...