android通过httpClient请求获取JSON数据并且解析
使用.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通过httpClient请求获取JSON数据并且解析的更多相关文章
- android客户端从服务器端获取json数据并解析的实现代码
今天总结一下android客户端从服务器端获取json数据的实现代码,需要的朋友可以参考下 首先客户端从服务器端获取json数据 1.利用HttpUrlConnection /** * 从指定的U ...
- (转)android客户端从服务器端获取json数据并解析的实现代码
今天总结一下android客户端从服务器端获取json数据的实现代码,需要的朋友可以参考下 首先客户端从服务器端获取json数据 1.利用HttpUrlConnection 复制代码 ...
- android客户端从服务器端获取json数据并解析的实现代码(重要)
首先客户端从服务器端获取json数据 1.利用HttpUrlConnection /** * 从指定的URL中获取数组 * @param urlPath * @return * @throws Exc ...
- PHP/Post 提交请求获取json数据,并转化为所需要的数组
/** * Post 提交请求获取json数据,并转化为所需要的数组 */ function request_post($url = '', $param = '') { if (empty($url ...
- HttpURLConnection从网上获取Json数据并解析详解
HttpURLConnection从网上获取Json数据并解析 1.HttpURLConnection请求数据的步骤 (1)构造一个URL接口地址: URL url = new URL("h ...
- JSONP 跨域请求 - 获取JSON数据
如何用原生方式使用JSONP? 下边这一DEMO实际上是JSONP的简单表现形式,在客户端声明回调函数之后,客户端通过script标签向服务器跨域请求数据,然后服务端返回相应的数据并动态执行回调函数. ...
- 异步请求获取JSON数据
json格式的数据广泛应用于异步请求中前后端的数据交互,本文主要介绍几种使用场景和使用方法. <script type="text/javascript"> funct ...
- 网络获取json数据并解析
1.升级流程分析
- Android Studio利用异步任务AsyncTask发送post请求获取json数据
syncTask,是Android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主 ...
随机推荐
- 3573: [Hnoi2014]米特运输 - BZOJ
Description米特是D星球上一种非常神秘的物质,蕴含着巨大的能量.在以米特为主要能源的D星上,这种米特能源的运输和储存一直是一个大问题. D星上有N个城市,我们将其顺序编号为1到N,1号 ...
- 在javascript中检查一个值是否为integer
integer 类型在javascript中很奇怪.ECMAScript技术规格说明书中,它是以概念的形式存在.number类型包括浮点型(floating )和整形(integer )不包括小数(详 ...
- 表中相同数据的sql语句
1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select peopleId from ...
- 如何使用工具进行线上 PHP 性能追踪及分析?
工作了一两年的 PHPer 大概都多多少少知道一些性能分析的工具,比如 Xdebug.xhprof.New Relic .OneAPM.使用基于 Xdebug 进行 PHP 的性能分析,对于本地开发环 ...
- python中精确输出JSON浮点数的方法
有时需要在JSON中使用浮点数,比如价格.坐标等信息.但python中的浮点数相当不准确, 例如下面的代码: 复制代码代码如下: #!/usr/bin/env python import json a ...
- 一个Java程序员应该掌握的10项技能
1.语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道任何修正. 2.命令:必须熟悉JDK带的一些常用命令及其常用选项,命令至少需要熟悉:a ...
- Android SeekBar的OnSeekBarChangeListener
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { /** * 拖动中数值的时候 * @param f ...
- Java快速排序 分别以数组0位作为基准 和最后一位作为基准的排序演示
package util; public class Pub { public static void beforeSort(int[] arr){ System.out.println(" ...
- JS操作Radio与Select
//radio的chang事件,以及获取选中的radio的值 $("input[name=radioName]").on("change", function( ...
- 使用JQuery双击修改Table中Td
<html> <head> <meta http-equiv="Content-Type" content="text/html;chars ...