利用反射實現物件轉json格式字串

2021-08-27 23:31:48 字數 1903 閱讀 1388

一、序言

json 資料的書寫格式是:名稱/值,因為json具有鮮明的格式,我們常用它來作為資料傳輸載體。我們在專案中經常會把從資料庫得到的資料轉成json格式傳到前台,接收後進行解析,下面這個是我寫的乙個工具類,利用反射將物件中的屬性,值 並轉為json格式。

二、實現背景

在專案**進行編寫時,會經常使用json格式的資料進行資料傳遞,但是使用jsonarray的話都需要再重新轉成string型別,如果需要大量的json資料的話會造成大量的資源浪費,因此編寫了乙個直接轉換成string型別的json工具類。

三、實現方式

/**

* @描述 將list陣列轉為json格式

* @param buffer

* @param list

* @return

* @throws illegalargumentexception

* @throws illegalacces***ception

*/private static stringbuffer listtojson(stringbuffer buffer,list list) throws illegalargumentexception, illegalacces***ception

else

else if(******name.equals("boolean")||******name.equals("integer")||******name.equals("double")||******name.equals("float")||******name.equals("long"))

else if(******name.equals("date"))

else

else

}else

else if(f******name.equals("boolean")||f******name.equals("integer")||f******name.equals("double")||f******name.equals("float")||f******name.equals("long"))

else if(f******name.equals("date"))

else}}

buffer = new stringbuffer(""+buffer.substring(0,buffer.length()-1)+"");}}

}buffer = new stringbuffer(""+buffer.substring(0,buffer.length()-1)+"");

return buffer;

}

/**

* @描述 將集合轉為json格式的字串

* @param obj

* @return

* @throws illegalargumentexception

* @throws illegalacces***ception

*/private static string collectiontojson(object obj) throws illegalargumentexception, illegalacces***ception

if(******name.equals("hashset")||******name.equals("treeset"))

}//如果獲取的物件型別為乙個list集合

if(listf == true)

//如果獲取的物件型別為乙個set集合

if(setf == true)

return buffer.tostring();

}

從中擷取了兩段,實現理念就是通過字串拼接以及遞迴的方式,將全部的值獲取到,並拼接成json字串的樣式,。

後面帶有jar包以及原始碼,求大神指點

json轉物件 物件轉json

我們經常會用到json,所以在c 裡就會經常有物件or物件陣列轉json,json轉物件or物件陣列。ps 物件或者json可能是 or,也就是json屬性or json陣列形式,或者json物件屬性裡巢狀,巢狀屬性.無限級巢狀都可以實現。前提 我們定義的物件,或者巢狀物件 一定要和json格式結構...

CXF利用Json格式傳輸物件

一直以來很少在iteye上發帖,這次也是閒來無趣。把自己總結的利用json格式傳遞複雜物件的webservice的例子發上來,好讓新手學習下。準備工作 cxf gson 眾所周知,webservice傳輸複雜物件是比較麻煩的事情,因為要實現個可序列化介面。假設現在乙個自定義型別裡有list,並且該l...

json轉物件和物件轉json

將值存入物件,並將其轉為字串 new name setopinion setratify ok setgrade 一級審批 newarraylist add 將值轉為字串 new string jsonstring null trycatch exception e 將字串轉為物件,此方法可以取代第...