`

Android从服务器端接收json数据并解析的代码

阅读更多

My Git : https://github.com/hejiawang

 

一、从服务器端获取json数据,共有两种形式,分别是HttpUrlConnection,和HttpClient(个人喜                         欢HttpUrlConnection)

 

1、HttpUrlConnection的形式,代码如下:

/**
      * 从指定的URL中获取数组
      * @param urlPath
      * @return
      * @throws Exception
      */
     public static String readParse(String urlPath) throws Exception {  
                ByteArrayOutputStream outStream = new ByteArrayOutputStream();  
                byte[] data = new byte[1024];  
                 int len = 0;  
                 URL url = new URL(urlPath);  
                 HttpURLConnection conn = (HttpURLConnection) url.openConnection();  
                 InputStream inStream = conn.getInputStream();  
                 while ((len = inStream.read(data)) != -1) {  
                     outStream.write(data, 0, len);  
                 }  
                 inStream.close();  
                //通过out.Stream.toByteArray获取到写的数据  
                 return new String(outStream.toByteArray());
       }

 2、HttpClient的形式,代码如下:

/**
      * 访问数据库并返回JSON数据字符串
      * 
      * @param params 向服务器端传的参数
      * @param url
      * @return
      * @throws Exception
      */
     public static String doPost(List<NameValuePair> params, String url)
             throws Exception {
         String result = null;
         // 获取HttpClient对象
         HttpClient httpClient = new DefaultHttpClient();
         // 新建HttpPost对象
         HttpPost httpPost = new HttpPost(url);
         if (params != null) {
             // 设置字符集
             HttpEntity entity = new UrlEncodedFormEntity(params, HTTP.UTF_8);
             // 设置参数实体
             httpPost.setEntity(entity);
         }

         /*// 连接超时
         httpClient.getParams().setParameter(
                 CoreConnectionPNames.CONNECTION_TIMEOUT, 3000);
         // 请求超时
         httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT,
                 3000);*/
         // 获取HttpResponse实例
         HttpResponse httpResp = httpClient.execute(httpPost);
         // 判断是够请求成功
         if (httpResp.getStatusLine().getStatusCode() == 200) {
             // 获取返回的数据
             result = EntityUtils.toString(httpResp.getEntity(), "UTF-8");
         } else {
             Log.i("HttpPost", "HttpPost方式请求失败");
         }

         return result;
     }

 

二、解析的代码:

/**
      * 解析
      * 
      * @throws JSONException
      */
     private static ArrayList<HashMap<String, Object>> Analysis(String jsonStr)throws JSONException {
    
         JSONArray jsonArray = null;
         // 初始化list数组对象
         ArrayList<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
         jsonArray = new JSONArray(jsonStr);
         for (int i = 0; i < jsonArray.length(); i++) {
             JSONObject jsonObject = jsonArray.getJSONObject(i);
             // 初始化map数组对象
             HashMap<String, Object> map = new HashMap<String, Object>();
             map.put("a", jsonObject.getString("a"));
             map.put("b", jsonObject.getString("b"));
             list.add(map);
         }
         return list;
     }

 其中, map.put("a", jsonObject.getString("a"));中a代表json数据,json数据就不说了。。。。。

 

这样,从服务器上得到的json数据就成了我们熟悉的集合数据了。。。

上面的代码主要用到了两个类:JSONArrayJSONObject 

1
1
分享到:
评论

相关推荐

    android客户端从服务器端获取json数据并解析

    在Android开发中,从服务器端获取JSON数据并进行解析是一项常见的任务,这涉及到网络通信、数据格式处理以及数据解析等多个方面。以下是对这一过程的详细解释: ### 一、从服务器端获取JSON数据 #### 1. 使用...

    Android客户端与服务器端的json数据交互(内含大量知识点)

    在Android应用开发中,客户端与服务器端的数据交互是不可或缺的一部分,JSON作为一种轻量级的数据交换格式,被广泛用于Android和服务器之间的通信。本教程将详细阐述Android客户端如何使用JSON进行数据交互,包括...

    android手机客户端获取服务器端的json数据的demo

    在Android开发中,获取服务器端的数据是常见的需求,特别是JSON格式的数据,因其轻量级、易解析的特性,被广泛应用于移动应用与后端服务之间的数据交换。本demo旨在展示如何在Android手机客户端通过WiFi连接服务器,...

    Android客户端与服务器端的json数据交互(服务端+客户端)

    在Android应用开发中,客户端与服务器端的数据交互是不可或缺的一部分,JSON(JavaScript Object Notation)作为轻量级的数据交换格式,被广泛应用于Android与服务器之间的通信。本篇将详细讲解如何在Android客户端...

    服务器端返回json数据

    总之,服务器端返回JSON数据是现代Web应用中常见的数据交互方式,涉及到服务器端的JSON序列化、HTTP响应配置,以及客户端的网络请求和JSON解析等多个环节。理解并掌握这一流程对于开发Java EE应用和Android应用至关...

    Android Http (Json) 服务器端和客户端通信

    ### Android Http (Json) 服务器端和客户端通信详解 在当今移动互联网时代,客户端与服务器之间的数据交换变得至关重要。特别是对于Android应用开发而言,能够高效、安全地与服务器进行通信,是实现应用功能的关键...

    基于PHP的Android应用服务器端管理系统|Json数据通信

    【标题】基于PHP的Android应用服务器端管理系统是用于管理和控制Android应用程序的重要工具,它通过Json数据格式实现与Android客户端的高效通信。这个系统的核心在于利用PHP作为后端语言,构建一个能够处理Android...

    Android客户端与服务器端的json数据交互(服务端客户端).zip

    在Android应用开发中,客户端与服务器之间的数据交互是...综上所述,Android客户端与服务器端的JSON数据交互涉及网络请求、JSON解析、异步处理等多个环节,开发者需要理解并掌握这些技术,以实现高效、安全的数据通信。

    Android客户端与服务器通信+json交互数据

    服务器端接收到请求后,使用相应的Action处理请求,将JSON数据解析为Java对象,存储到数据库或其他持久化存储中。 在实现这一过程时,需要注意以下几点: 1. 使用HTTPS协议确保通信的安全性,防止数据被窃取。 2. ...

    servlet服务器端和android客户端json数据交互

    文件"TestJsonServer"可能是一个Servlet服务器端的示例代码,演示如何处理HTTP请求并返回JSON数据。而"AndroidJson"可能是Android客户端的代码,展示如何构造HTTP请求,发送请求,以及解析接收到的JSON响应。在这些...

Global site tag (gtag.js) - Google Analytics