Gson的使用 可用在介面之間傳遞物件等

2021-06-27 07:40:29 字數 2742 閱讀 3739

之前在activity等傳遞資料時往往有時要傳遞乙個物件,總是先把物件序列化,以後有了gson,就再也不用序列化了,簡簡單單一步搞定:

附json的jar包:

1、物件轉string

student stu = new student();  

stu.setstudentid(333);

stu.setstudentname("qqq");

string stustr = gson.tojson(stu);

system.out.println(stustr); //

簡單來說:string b=new gson().tojson(a);//a是你的物件,b是物件轉換成的string

2、string轉物件  

student user2 = gson.fromjson(stustr, student.class);   

system.out.println(user2);

string stutemp = "";

student user4 = gson.fromjson(stutemp, student.class);

system.out.println(user4);

簡單來說:student a=new gson().fromjson(b,student.class);//b是物件轉換成的string,a是你的物件 3、

list和string的轉換

listtestbeanlist = new arraylist();   

student testbean = new student();

testbean.setstudentid(555);

testbean.setstudentname("552");

testbeanlist.add(testbean);

//gson gsonlist = new gson();
物件list轉string  

type type = new typetoken>(){}.gettype(); //指定集合物件屬性

string beanlisttojson = gson.tojson(testbeanlist, type);

system.out.println(beanlisttojson); //

//集合string轉物件list

listtestbeanlistfromjson = gson.fromjson(beanlisttojson, type);

system.out.println(testbeanlistfromjson); //[555:552]

4、將hshmap字串轉json

maptestmap = new hashmap();   

testmap.put("id", "id.first");

testmap.put("name", "name.second");

string maptojson = gson.tojson(testmap);

system.out.println(maptojson); //

5、stringmap轉物件 

mapusermap2 = (map) gson.fromjson(maptojson,   

new typetoken>() .gettype());

system.out.println(usermap2); //

6、物件含有普通物件、集合、map情況 

student user1 = new student();   

user1.setstudentid(1001);

user1.setstudentname("張三");

student user3 = new student();

user3.setstudentid(1002);

user3.setstudentname("李四");

mapusermap = new hashmap();

usermap.put("user1", user1);

usermap.put("user3", user3);

listuserlist = new arraylist();

userlist.add(user1);

userlist.add(user3);

teacher groupbean = new teacher();

groupbean.setstudent(user1);

groupbean.setstus(userlist);

groupbean.setmap((hashmap)usermap);

gson gsongroup = new gson();

string sgroupbean = gsongroup.tojson(groupbean, new typetoken() .gettype());

system.out.println(sgroupbean);

/*,],"student":,"map":,"user1":},"id":0,"age":0}*/

Ascll碼表中的資料對應(可用在SQL中)

摘 chr 9 tab空格 chr 10 換行 chr 13 回車 chr 13 chr 10 回車換行 chr 32 空格符 chr 34 雙引號 chr 39 單引號 chr 33 chr 34 chr 35 chr 36 chr 37 chr 38 chr 39 chr 40 chr 41 c...

UI介面之間的傳值

兩個介面時常要進行通訊,所以有必要對介面之間的傳值做一點小小的總結!到目前為止,我知道傳值的方式有兩種 一種是利用屬性傳值,還有一種是利用 進行傳值。說到用 可以傳值,那就可以用block。這裡由於我個人對block理解並不是特別到位,就不在下面進行說明如何用block進行介面之間的通訊了。注 但是...

iOS開發 使用Block在兩個介面之間傳值

一 在第二個檢視控制器的.h檔案中定義宣告block屬性 宣告的block重新定義了乙個名字 returntextblock typedef void returntextblock nsstring showtext inte ce textfieldviewcontroller uiviewco...