GSON是Google推出的一种解析方式,用的比较少
利用Gson创建JSON字符串: gson.toJson();
代码简洁。零依赖。性能较低,需要导包。
解析对象:
gson.fromJson(String str, Class<T>)
import com.google.gson.Gson;
public class GsonDemo02 {
public static void main(String[] args) {
String json = "{'name':'mixm','age':21,'gender':'男','hobby':['football','basketball']}";
Gson gson = new Gson();
Person p = gson.fromJson(json, Person.class);
System.out.println(p);
}
}
Person里自定义的属性:
private String name;
private String gender;
private int age;
private List<String> hobby;
解析数组:
gson.fromJson(json, new TypeToken<List<T>>(){}.getType());
import java.util.List;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
/**
* 数组的解析
* @author Mixm
* @date 2015年10月10日 下午4:42:26
*/
public class GsonDemo03 {
public static void main(String[] args) {
String json = "[{'name':'mixm','age':21,'gender':'男','hobby':['football','basketball']},{'name':'mixm2','age':22,'gender':'男','hobby':['football','basketball']}]";
Gson gson = new Gson();
//这个typeToken的构造方法是protected受保护的, 所以下面的方法构造是是它的子类的对象
List<Person> persons = gson.fromJson(json, new TypeToken<List<Person>>(){}.getType());
for (Person person : persons) {
System.out.println(person);
}
}
}
利用Gson创建JSON字符串: gson.toJson();
import java.util.ArrayList;
import java.util.List;
import com.google.gson.Gson;
/**
* 对于数组还是对象的转变成字符串 方式是相同的
* @author Mixm
* @date 2015年10月10日 下午4:34:22
*/
public class GsonDemo01 {
public static void main(String[] args) {
Person p = new Person();
p.setName("mixm");
p.setAge(21);
p.setGender("男");
List<String> hobby = new ArrayList<>();
hobby.add("football");
hobby.add("basketball");
p.setHobby(hobby);
Gson gson = new Gson();
//这儿的p也可以是list,相同的方法
String str = gson.toJson(p);
System.out.println(str);
}
}