Json與任意型別物件轉換的兩種實現

2021-08-29 05:24:05 字數 2200 閱讀 4021

之前寫過一篇關於json的部落格,裡面簡單的介紹了json的基本概念以及幾個組成要素以及gson的使用,今天就來簡單的實現一下通過gson實現任意物件與json 字串之間的轉換:

(1)普通物件轉json字串

person p1=new person(26,"why","male");

gson gson =new gson();

string gsonstr=gson.tojson(p1);

system.out.println("object to json string:"+gsonstr);

(2)json字串轉普通物件方式1:

person p2=gson.fromjson(gsonstr,person.class);

system.out.println("json string to object:"+p2.tostring());

方式2:

type type1 = new typetoken() .gettype();

person p2=gson.fromjson(gsonstr, type1);

system.out.println("json string to object:"+p2.tostring());

(3)集合物件轉json字串

listselfdefelementlist=new arraylist<>();

selfdefelementlist.add(new person(26,"why","male"));

selfdefelementlist.add(new person(24,"jr","female"));

selfdefelementlist.add(new person(3,"love","male"));

string list2tostr=gson.tojson(selfdefelementlist);

system.out.println("self define element list to json string:"+list2tostr);

(4)json字串轉集合物件方式1:

listselfdefelementlist1=new arraylist<>();

selfdefelementlist1=gson.fromjson(list2tostr, selfdefelementlist1.getclass());

system.out.println("json string to self define element list :"+selfdefelementlist1.tostring());

方式2:

type type3 = new typetoken>() .gettype();

listselfdefelementlist2=gson.fromjson(list2tostr, type3);

system.out.println("json string to self define element list :"+selfdefelementlist2.tostring());

對於json轉集合物件,建議使用第二種方式,第一種方式有可能會導致資料型別發生變化,參見如下日誌:

附:

public class person 

public person(person p)

@override

public string tostring()

}

注:歡迎掃碼關注

C 將任意物件快速轉換為Json

轉換t為json 型別 物件 json private string converttojson t model properties i name.tolower 屬性名作為 鍵 properties i getvalue model,null tostring 屬性值作為 值 return sb...

Java物件與JSON的轉換

1 直接將物件轉換 將陣列轉換為json string arr jsonarray jsonarray jsonarray.fromobject arr system.out.println jsonarray 物件轉換成json get和set方法必須有 userinfo user new use...

JSON物件與JSON字串轉換

特點 a.json物件屬性名,要帶雙引號 b.json沒有變數 json物件的表示式有兩種 a.表示式 var object b.物件字面量 字面量後不需要分好 json陣列中存的是json物件 json陣列也是陣列,擁有陣列所有方法 var data 返回的是新json字串,不改變原來的json物...