zoukankan      html  css  js  c++  java
  • 使用GSON解析JSON文件

    package com.pingyijinren.test;
    
    /**
     * Created by Administrator on 2016/5/19 0019.
     */
    public class App {
        private String id;
        private String version;
        private String name;
    
        public String getId(){
            return id;
        }
    
        public String getVersion(){
            return version;
        }
    
        public String getName(){
            return name;
        }
    
        public void setId(String id){
            this.id=id;
        }
    
        public void setVersion(String version){
            this.version=version;
        }
    
        public void setName(String name){
            this.name=name;
        }
    }
    package com.pingyijinren.test;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;
    import com.google.gson.Gson;
    import com.google.gson.reflect.TypeToken;
    import org.apache.http.HttpEntity;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.util.EntityUtils;
    import java.util.List;
    
    public class MainActivity extends AppCompatActivity{
        private Button button;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            button=(Button)findViewById(R.id.button);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    sendRequestWithHttpURLConnection();
                }
            });
        }
    
        private void sendRequestWithHttpURLConnection(){
            new Thread(new Runnable(){
                @Override
                public void run(){
                    try{
                        HttpClient httpClient = new DefaultHttpClient();
                        HttpGet httpGet=new HttpGet("http://172.29.209.1/get_data.json");
                        HttpResponse httpResponse=httpClient.execute(httpGet);
                        if(httpResponse.getStatusLine().getStatusCode()==200){
                            HttpEntity httpEntity=httpResponse.getEntity();
                            String response= EntityUtils.toString(httpEntity,"utf-8");
    
                            parseJSONWithGSON(response);
                        }
                    }
                    catch(Exception e){
                        e.printStackTrace();
                    }
                }
            }).start();
        }
    
        private void parseJSONWithGSON(String jsonData){
            Gson gson=new Gson();
            List<App> appList=gson.fromJson(jsonData,new TypeToken<List<App>>(){}.getType());
            for(App app:appList){
                Log.d("MainActivity","id is "+app.getId());
                Log.d("MainActivity","version is "+app.getVersion());
                Log.d("MainActivity","name is "+app.getName());
            }
        }
    }
  • 相关阅读:
    阅读文献的三大问题:坐不住,记不住,想不开
    C++之vector模板类
    C++之string类
    算法学习(1)枚举法求运算符
    二叉树(4)非递归法遍历二叉树
    二叉树(3):对二叉树数的操作
    Pascal's Triangle,Pascal's Triangle II
    Next Permutation
    Permutations,Permutations II,Combinations
    Majority Element,Majority Element II
  • 原文地址:https://www.cnblogs.com/zqxLonely/p/5508628.html
Copyright © 2011-2022 走看看