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();
        }
    }









Andorid之Gson解析Json数据

Json类型数据可以通过Json官方提供的方法将Json字符串转化为对象类型,但是解析往往比较麻烦, Gson是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java ...
  • zml_2015
  • zml_2015
  • 2016年02月03日 14:51
  • 2950

Android Volley请求json数据,fastJson解析json数据

参考:http://blog.csdn.net/feiduclear_up/article/details/42526235关于JSON的官方介绍fastJson 下载地址: 作者的git:h...
  • xx326664162
  • xx326664162
  • 2015年12月15日 14:58
  • 2722

Android使用本地缓存解析远程服务器JSON数据

//1.基础类public abstract class BaseProtocol{ /** * 加载appinfo信息 * @param index * @ret...
  • lovoo
  • lovoo
  • 2016年04月16日 20:45
  • 1361

Android网络之数据解析----使用Google Gson解析Json数据

一、Json数据的介绍 ...
  • u014360817
  • u014360817
  • 2015年03月09日 15:05
  • 1184

Android开发中json数据解析工具类

-----------------------------------------------------用Android自带的JSONArray及JSONObject处理json数据--------...
  • true100
  • true100
  • 2015年03月24日 11:21
  • 1762

Android解析Json数据之FastJson解析

之前写了关于org.json 以及gson解析 json格式数据的相关博文,今天再补充一下使用阿里巴巴工程师类库fastjson解析json数据,fastjson和谷歌的gson很像,但是比谷歌的gs...
  • zml_2015
  • zml_2015
  • 2016年07月18日 11:13
  • 2300

android studio解析JSON数据

第一步,gradle添加:compile 'com.google.code.gson:gson:2.2.4' 数据源为:oringdata:{"status":0,"size":0,"total":...
  • MayWendy
  • MayWendy
  • 2017年06月07日 15:04
  • 869

Android之解析Json数据

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - Decembe...
  • vennl
  • vennl
  • 2011年12月11日 16:48
  • 1477

Android解析服务器返回的Json数据

服务器端的返回数据的servlet package servlet; import impl.JsonService; import java.io.IOException; import ...
  • sinat_27362429
  • sinat_27362429
  • 2015年04月22日 10:52
  • 957

Android解析JSON数据几种方式对比

Json介绍 Json(JavaScript Object Natotion)是一种轻量级的数据交换格式,具有良好的可读性和便于快速编写的特性,主要用于传送数据。Json是一种取代Xml的数据...
  • caicdd007
  • caicdd007
  • 2016年08月15日 16:50
  • 1302
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android解析JSON数据样例
举报原因:
原因补充:

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