//      先导入gson的jar包
//      gson的一般使用方法
//      class的属性名必须与json字符串中的key大小写完全一致
        
    //解析JSONArray
    private void parseJSONArray()
    {
        String jsonArr = "[{'key1':'value1', 'key2':'value2'}, {'key1':'value1', 'key2':'value2'}]";
        Gson gson = new Gson();
        java.lang.reflect.Type type = new com.google.gson.reflect.TypeToken<List<JsonData>>()
        {
        }.getType();
        List<JsonData> fromJson = gson.fromJson(jsonArr, type);
        mTextView.setText(fromJson.toString());
    }
    //解析JSONObject
    private void parseJSONObject()
    {
        String jsonObj = "{'key1':'value1', 'key2':'value2'}";
        Gson gson = new Gson();
        JsonData jsonData = gson.fromJson(jsonObj, JsonData.class);
        mTextView.setText(jsonData.toString());
    }
    class JsonData//属性必须与json里面的key一致
    {
        String key1;
        String key2;
        @Override
        public String toString()
        {
            return "JSON1 [key1=" + key1 + ", key2=" + key2 + "]";
        }
    }




注:

1.参数类型不能是ArrayList,而是List

public class TestJson
{
    public int Id;
    public String Name;
    
    public ParamJson EstateParam;
    public List<String> Banners;//此处参数类型不能是ArrayList,而是List 
}


public class ParamJson
{
    public int Id;
    public String Name;
    
    public List<String> ListData;
}


解析只要一句代码即可:

TestJson mJson = ((TestJson) new Gson().fromJson(str, TestJson.class));