import java.io.IOException;
import java.util.List;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
public class test {
public static void main(String[] args) throws IOException {
String json="[{\"name\":\"name0\"}]";
Gson gson = new Gson();
List<Person> ps = gson.fromJson(json, new TypeToken<List<Person>>(){}.getType());
for(int i = 0; i < ps.size() ; i++)
{
Person p = ps.get(i);
System.out.println(p.getAge()+"==="+p.getName());
}
}
}
如果json里的字段多余的字段,或者少一些字段。都不影响person的映射。其智慧把对应的映射过来而已。
注:可以看到上面的代码使用了TypeToken,它是gson提供的数据类型转换器,可以支持各种数据集合类型转换。
2.Gson gson = new Gson();
List persons = new ArrayList();
for (int i = 0; i < 10; i++) {
Person p = new Person();
p.setName(“name” + i);
p.setAge(i * 5);
persons.add(p);
}
String str = gson.toJson(persons);
3.Person person = gson.fromJson(str, Person.class);
提供两个参数,分别是json字符串以及需要转换对象的类型。