android解析JSON数据样例

原创 2015年07月07日 13:52:38
package com.example.demo123;

import java.io.IOException;
import java.io.InputStream;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.json.JSONObject;

public class JSONUtil {
    private static final String TAG = "JSONUTIL";

    public static JSONObject getJSON(String url) throws Exception {
        return new JSONObject(getRequest(url));
    }

    protected static String getRequest(String url) {
        return getRequest(url, new DefaultHttpClient(new BasicHttpParams()));
    }

    protected static String getRequest(String url, DefaultHttpClient client) {
        String result = null;
        int statusCode = 0;
        HttpGet httpGet = new HttpGet(url);
        try {
            HttpResponse httpResponse = client.execute(httpGet);
            statusCode = httpResponse.getStatusLine().getStatusCode();// statusCode为200时表示请求数据成功
            result = parseInputStream(httpResponse.getEntity());
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            httpGet.abort();
        }
        return result;
    }

    private static String parseInputStream(HttpEntity entity) {
        StringBuilder sb = null;
        try {
            sb = new StringBuilder("");
            InputStream inputStream = entity.getContent();
            int length = 0;
            byte[] buffer = new byte[1024];
            while ((length = inputStream.read(buffer)) > -1) {
                sb.append(new String(buffer, 0, length));
            }
            return sb.toString();
        } catch (IllegalStateException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return sb.toString();
    }

}








主activity中调用:数据格式{ad_gap_time:1200000, ad_silence_time:1800000,ad_count:3 }

private void Livingstone() {
        try {
            String URL = "http://192.168.1.123:8080/index2.jsp";
            // 获取后台返回的JSON对象 --> {ad_gap_time:1200000, ad_silence_time:1800000,ad_count:3 }
            JSONObject jsonObject = JSONUtil.getJSON(URL);
            int classname = jsonObject.getInt("ad_count");
            long i=jsonObject.getLong("ad_gap_time");
            AdParm adParm = new AdParm();
            // adParm.setAd_gap_time(jsonObject.getLong("ad_gap_time"));
            // adParm.setAd_silence_time(jsonObject
            // .getLong("ad_silence_time"));
            // adParm.setAd_count(jsonObject.getInt("ad_count"));

            sharedPreferences
                    .edit()
                    .putLong("ad_gap_time",
                            jsonObject.getLong("ad_gap_time"))
                    .putLong("ad_silence_time",
                            jsonObject.getLong("ad_silence_time"))
                    .putInt("ad_count", jsonObject.getInt("ad_count"))
                    .commit();
            adParm.setAd_count(jsonObject.getInt("ad_count"));
            adParm.setAd_gap_time(jsonObject.getLong("ad_gap_time"));
            adParm.setAd_silence_time(jsonObject.getLong("ad_silence_time"));
            
            
            textView.setText(sharedPreferences.getLong("ad_gap_time", 0)+"");
            System.out.println("------->" + classname + classname);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }









相关文章推荐

[绍棠_Swift] SwiftyJSON的使用详解(附样例,用于JSON数据处理)

1,SwiftyJSON介绍与配置 SwiftyJSON是个使用Swift语言编写的开源库,可以让我们很方便地处理JSON数据(解析数据、生成数据)。 GitHub地址:https://githu...

json解析样例

关于Json:http://www.json.org/ Json解析库gson: http://code.google.com/p/google-gson/ 1.使用Android中的JSONOb...

Android官网蓝牙样例BluetoothChat(蓝牙聊天室)解析

首先给下下载地址:http://developer.android.com/samples/BluetoothChat/index.html 前段时间做一个和蓝牙相关的项目,去Android的官网查资...

Android官网蓝牙样例BluetoothChat(蓝牙聊天室)解析

首先给下下载地址:http://developer.Android.com/samples/BluetoothChat/index.html 前段时间做一个和蓝牙相关的项目,去Android的官网查...

Android数据解析json

  • 2016年03月11日 14:08
  • 290KB
  • 下载

Json 使用样例

#include #include #include #include #include "json/json.h" using namespace std; struct child_i...
  • gmzd84
  • gmzd84
  • 2016年08月23日 01:14
  • 242

Android端解析web端传来的json数据

  • 2015年09月09日 20:43
  • 3.26MB
  • 下载

【Android学习笔记系列】AsyncTask、BaseAdapter整合异步加载用例(通过解析JSON格式数据加载网络图片内容)

什么是异步加载 异步加载就是用异步的方式去加载数据,也就是用非主线程去加载数据的意思 为什么要异步加载 原因大概有两个: 第一、  为了提高用户体验,让用户加载数据的时候不会感到明显的卡顿...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android解析JSON数据样例
举报原因:
原因补充:

(最多只允许输入30个字)