使用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());
        }
    }
}
原文地址:https://www.cnblogs.com/zqxLonely/p/5508628.html