zoukankan      html  css  js  c++  java
  • android json 解析 简单示例

    1 下面是一个简单的json 解析的demo,废话不多说,直接上代码




    package com.sky.gallery;

    import java.io.ByteArrayOutputStream;
    import java.io.DataInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.net.SocketTimeoutException;

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

    import android.app.Activity;
    import android.os.Bundle;
    import android.util.Log;

    public class ctivity extends Activity {
        //音乐

        private static String GAME_URL = "http://api.k.sohu.com/api/photos/list.go?rt=json&categoryId=2&pageSize=4&p1=NTc1MzY0OTc2NzAxNjA0MjUyMw%3D%3D";

        
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main_activity);
            
            
            startGetGameListThread();
            
        }

        

        public  void startGetGameListThread() {

            new Thread() {

                @Override
                public void run() {
                    String jsonStr = null;
                    int errorCode = 0;

                    try { // 读取数据 j
                        jsonStr = getGameJsonStr(GAME_URL);
                        Log.i("test", "jsonStr = " + jsonStr);
                        //parseAppList(jsonStr);

                    } catch (Exception e) {
                        e.printStackTrace();
                        errorCode = 1;
                    } finally {

                    }

                }

            }.start();
        }

        private static String getGameJsonStr(String url) throws Exception {
            Log.i("test", "getGameJsonStr(). url = " + url);

            String jsonStr = null;

            final HttpParams httpParameters = new BasicHttpParams();
            HttpConnectionParams.setConnectionTimeout(httpParameters, 6000);
            HttpConnectionParams.setSoTimeout(httpParameters, 6000);

            final DefaultHttpClient client = new DefaultHttpClient(httpParameters);

            final HttpGet get = new HttpGet(url);
            HttpResponse resp;

            resp = client.execute(get);
            final HttpEntity entity = resp.getEntity();
            final InputStream is = entity.getContent();
            jsonStr = readToEnd(is);
            is.close();

            return jsonStr;
        }

        private static String readToEnd(InputStream input) throws IOException,
                SocketTimeoutException {
            final DataInputStream dis = new DataInputStream(input);
            final byte[] stuff = new byte[1024];
            final ByteArrayOutputStream buff = new ByteArrayOutputStream();
            int read = 0;
            while ((read = dis.read(stuff)) != -1) {
                buff.write(stuff, 0, read);
            }

            return new String(buff.toByteArray());
        }



        
        private static void log(String msg) {
            Log.v("test", msg);
        }
        private void parseAppList(String jsonStr) throws Exception {
            Log.v("test", "sssssssssssssssssssssssssssssssss");
            try {
                /*
                 * final JSONObject root = new JSONObject(jsonStr); Log.i("test",
                 * "root = " + root);
                 */
             JSONObject oo = new JSONObject(jsonStr);
             JSONArray array = oo.getJSONArray("videos");
                //final JSONArray array = new JSONArray(jsonStr);
                for (int i = 0; i < 20; ++i) {
                    //JSONObject obj = array.getJSONObject(i);

                    AppModle one = addOneGameModel(array.getJSONObject(i));
                    Log.i("test", "每一个对象的  "+i+"         "+one.getTitle());
                    Log.i("test", "每一个对象的  "+i+"         "+one.getId());
                     Log.i("test", "每一个对象的  "+i+"         "+one.getArtistName());
                    
                }
                
                

            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        private static AppModle addOneGameModel(JSONObject game) throws Exception {
            AppModle one = new AppModle();
    /*
            one.setId(game.getInt("id"));
            one.setTitle(game.getString("title"));
           one.setArtistName(game.getString("artistName"));*/
            return one;
        }

        
    }


  • 相关阅读:
    面向对象
    PIL库学习及运用
    Jieba库使用和好玩的词云
    Python汉诺塔问题
    用python计算圆周率PI
    使用python画一只佩奇
    面向对象与正则表达式的学习
    美白,磨皮,搞笑图片处理
    tuetle制作汉诺塔
    python圆周率的计算及进度条提示
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3192030.html
Copyright © 2011-2022 走看看