import java.util.List;
import org.junit.Test;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
/**
* @ClassName: GsonTest
* @Description: 主要使用Gson来进行对数据的处理
* @author fangzewen
* @date Dec 23, 2017 3:09:31 PM
*
*/
public class GsonTest {
/**
* Gson提供了fromJson() 和toJson() 两个直接用于解析和生成的方法,
* 前者实现反序列化,后者实现了序列化。同时每个方法都提供了重载方法,
* 我常用的总共有5个。
* @Title: A
* @Description: 基本数据类型的解析
* @param 设定文件
* @return void 返回类型
* @throws
*/
@Test
public void A(){
Gson gson=new Gson();
int i=gson.fromJson("100", int.class);
System.out.println(i);
double d=gson.fromJson("99.99", double.class);
System.out.println(d);
boolean b=gson.fromJson("true", boolean.class);
System.out.println(b);
String s=gson.fromJson("lalala", String.class);
System.out.println(s);
String jsonNumber=gson.toJson(100);
System.out.println(jsonNumber);
String jsonBoolean=gson.toJson(false);
System.out.println(jsonBoolean);
String jsonString=gson.toJson("StringAdd");
System.out.println(jsonString);
String jsonDoolean=gson.toJson(33.23);
System.out.println(jsonDoolean);
String jsonUserString = "{\"name\":\"怪盗kidou\",\"age\":24,\"email_address\":\"gson@163.com\"}";
User user = gson.fromJson(jsonUserString, User.class);
System.out.println(user.getEmailAddress());
User user1 =new User("name",24,"name@163.com");
String jsonObject=gson.toJson(user1);
System.out.println(jsonObject);
}
/**
* @Title: B
* @Description: Gson中使用泛型
* @param 设定文件
* @return void 返回类型
* @throws 饱醉豚哥哥
*/
@Test
public void B(){
Gson gson =new Gson();
String jsonArray= "[\"Android\",\"Java\",\"PHP\"]";
String[] strings=gson.fromJson(jsonArray, String[].class);
List<String> stringList = gson.fromJson(jsonArray, new TypeToken<List<String>>() {}.getType());
}
@Test
public void C(){
Gson gson = new Gson();
User user = new User("kidou",24,"ikidou@163.com");
System.out.println(gson.toJson(user)); // 写到控制台
}
/**
* @Title: D
* @Description: 使用GsonBuilder导出null值、格式化输出、日期时间
* @param 设定文件
* @return void 返回类型
* @throws
*/
@Test
public void D(){
Gson gson =new GsonBuilder().serializeNulls().create();
User user = new User("kidou",24);
System.out.println(gson.toJson(user));
Gson gson1=new GsonBuilder()
.serializeNulls()
.setDateFormat("yyyy-MM-dd")
.disableInnerClassSerialization()
.generateNonExecutableJson()
.disableHtmlEscaping()
.setPrettyPrinting()
.create();
}
}
GSON的使用
最新推荐文章于 2024-04-14 16:28:17 发布