最近寫一個小查詢,然後出了個很奇怪的bug,一直說LinkedHashMap無法被轉換爲要查詢的實體對象,關鍵是我這裏無論是前端還是後端都沒有用到LinkedHashMap的類型,然後查了半天百度,說是傳入的查詢條件應該解析一下。
解決方法:
首先 導入 net.sf.json 類
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.3</version>
<classifier>jdk15</classifier>
</dependency>
然後 使用JSONObject中的方法, 先將數據轉成json字符串, 在轉成實體對象即可。
主要就是兩步
JSONObject jsonObject=JSONObject.fromObject(objectStr); // 將數據轉成json字符串
Person per = (Person)JSONObject.toBean(jsonObject, Person.class); //將json轉成需要的對象