使用.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数据并且解析的更多相关文章

  1. android客户端从服务器端获取json数据并解析的实现代码

    今天总结一下android客户端从服务器端获取json数据的实现代码,需要的朋友可以参考下   首先客户端从服务器端获取json数据 1.利用HttpUrlConnection /** * 从指定的U ...

  2. (转)android客户端从服务器端获取json数据并解析的实现代码

    今天总结一下android客户端从服务器端获取json数据的实现代码,需要的朋友可以参考下       首先客户端从服务器端获取json数据 1.利用HttpUrlConnection   复制代码 ...

  3. android客户端从服务器端获取json数据并解析的实现代码(重要)

    首先客户端从服务器端获取json数据 1.利用HttpUrlConnection /** * 从指定的URL中获取数组 * @param urlPath * @return * @throws Exc ...

  4. PHP/Post 提交请求获取json数据,并转化为所需要的数组

    /** * Post 提交请求获取json数据,并转化为所需要的数组 */ function request_post($url = '', $param = '') { if (empty($url ...

  5. HttpURLConnection从网上获取Json数据并解析详解

    HttpURLConnection从网上获取Json数据并解析 1.HttpURLConnection请求数据的步骤 (1)构造一个URL接口地址: URL url = new URL("h ...

  6. JSONP 跨域请求 - 获取JSON数据

    如何用原生方式使用JSONP? 下边这一DEMO实际上是JSONP的简单表现形式,在客户端声明回调函数之后,客户端通过script标签向服务器跨域请求数据,然后服务端返回相应的数据并动态执行回调函数. ...

  7. 异步请求获取JSON数据

    json格式的数据广泛应用于异步请求中前后端的数据交互,本文主要介绍几种使用场景和使用方法. <script type="text/javascript"> funct ...

  8. 网络获取json数据并解析

    1.升级流程分析

  9. Android Studio利用异步任务AsyncTask发送post请求获取json数据

    syncTask,是Android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主 ...

随机推荐

  1. QQ炫舞官网选项卡效果

    这篇博文里需要注意的是当点击事件发生的时候,需要用循环,重置标题的classname和标题底部都设置成隐藏,当点击的时候在加上标题的active属性和显示属性 代码地址:https://github. ...

  2. sqlserver oracle 时间加减

    sqlserver: 减去10小时: dateadd(hour,-10,Your_date) oracle : 减去10小时: sysdate()-10/24

  3. P1676陶陶吃苹果 - vijos

    描述 curimit知道陶陶很喜欢吃苹果.于是curimit准备在陶陶生日的时候送给他一棵苹果树. curimit准备了一棵这样的苹果树作为生日礼物:这棵苹果树有n个节点,每个节点上有c[i]个苹果, ...

  4. 【HDOJ】【3037】Saving Beans

    排列组合 啊……这题是要求c(n-1,0)+c(n,1)+c(n+1,2)+......+c(n+m-1,m) 这个玩意……其实就等于c(n+m,m) 好吧然后就是模P……Lucas大法好= = 我S ...

  5. 【机器学习】BP神经网络实现手写数字识别

    最近用python写了一个实现手写数字识别的BP神经网络,BP的推导到处都是,但是一动手才知道,会理论推导跟实现它是两回事.关于BP神经网络的实现网上有一些代码,可惜或多或少都有各种问题,在下手写了一 ...

  6. POJ 4044 Score Sequence

    题目链接 题意 :给你两个序列,进行降序排序,找出连续的公共子序列,将这个子序列输出,然后对个位数升序排序,如果个位数相同就按数的大小排,再输出这个新排好的. 思路 :先排序,再找公共子序列,最后个位 ...

  7. Python分析NGINX LOG版本二

    不好意思,上一版逻辑有错误,(只分析了一次就没了) 此版改正. 按同事要改,作成传参数形式,搞定. #!/usr/bin/env python # coding: utf-8 ############ ...

  8. Java学习笔记之:Java StringBuffer类

    一.引言 当对字符串进行修改的时候,需要使用StringBuffer类. 和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未用对象 ...

  9. Hibernate逍遥游记-第10章 映射继承关系-001继承关系树中的每个具体类对应一个表

    1. 2. <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate ...

  10. CentOS安装VSFTP及配置用户

    第一步,安装vsftp # 1.以管理员(root)身份执行以下命令 yum install vsftpd # 2.设置开机启动vsftpd ftp服务 chkconfig vsftpd on # 3 ...