Gson  解析json 字符串的问题
Gson 解析json  我只会两种,一种是:   {"name":"gaofeng","age":"20"}
    还有一种就是数组: [{"name":"gaofeng","age":"20"},{"name":"myname","age":"22"}]
可是现在我碰见了一种这样的json格式就不会解析了,请各位帮帮小弟吧,下面的怎么解析呢?
{
"country":{
    "city":{
      "persions":[
                 {"name":"gaofeng","age":"22"},
                 {"name":"wangwu","age":"20"},
                 {"name":"lisi","age":"22"},
                 ]
          }
     }
}
网上说可以这样解析:
    class   A{
        public  String name;
        public  String age;    //get  set 方法就不写了          
}
class  B{
       public   String country;
       public   String city;
       public    List<A>   persions;
}
下面就说解析B对象,可是怎么解析呢?总是报错呀,错误如下
Expected a string but was BEGIN_OBJECT at line 1 column 40。 现在我就想知道怎么解析B呢?拜托各位了,谢谢
------解决方案--------------------解析的代码:
package com.justsy.test;
import java.util.List;
import com.google.gson.Gson;
public class TestGson {	
	public static void main(String[] args) {
			String gs = "{"+
			"country:{"+
			  "city:{"+
			  "persons:["+
			  "{name:gaofeng,age:22},"+
			  "{name:bing,age:23}"+
			  "]"+
			  "}"+
			  "}"+
			"}";
			Gson gson = new Gson();
			T t = gson.fromJson(gs, T.class);
			List<Person> persons = t.getCountry().getCity().getPersons();
			System.out.println("c:"+persons);
			for(Person p:persons){
				System.out.println("pname:"+p.getName());
				System.out.println("page:"+p.getAge());
			}			
	}	
	class T{		
		private Country country;
		public T(){}
		public Country getCountry() {
			return country;
		}
		public void setCountry(Country country) {
			this.country = country;
		}				
	}
	class Country{
		private City city;
		public Country(){}
		public City getCity() {
			return city;
		}
		public void setCity(City city) {
			this.city = city;
		}		
	}
	class City{
		private List<Person> persons;
		public City(){}
		public List<Person> getPersons() {
			return persons;
		}
		public void setPersons(List<Person> persons) {
			this.persons = persons;
		}		
	}
	class Person{
		private String name;
		private int age;
		public Person(){}
		public String getName() {
			return name;
		}
		public void setName(String name) {
			this.name = name;
		}
		public int getAge() {
			return age;
		}
		public void setAge(int age) {
			this.age = age;
		}		
	}
}
拼字符串拼的我好辛苦......
------解决方案--------------------这种情况就要用数组:
JSONArray jsonArray = jsonObject1.getJSONArray(\"persons\");
然后后面的你应该会的