GSON的使用
来源:互联网 发布:淘宝品牌库申请入口 编辑:程序博客网 时间:2024/06/05 07:31
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(); }}
阅读全文