做SSH項目的時候,遇到一個問題,瀏覽器報錯:
net.sf.json.JSONException: There is a cycle in the hierarchy
當使用json-lib在Java中把對象轉換爲JSON字符串時易產生的錯誤,主要的原因是出現瞭如下的情形:
model a裏面包含了b,而model b裏面又包含了a,這樣造成了解析成對象的過程中的死循環,於是就報錯了:
net.sf.json.JSONException: There is a cycle in the hierarchy!
at net.sf.json.util.CycleDetectionStrategy$StrictCycleDetectionStrategy.handleRepeatedReferenceAsObject(CycleDetectionStrategy.java:97)
這裏對一個list進行過濾,控制檯輸出:
[Account [id=1, login=test001, name=測試1, pass=123456], Account [id=2, login=test002, name=測試2, pass=123456]]
[{"id":1,"login":"test001"},{"id":2,"login":"test002"}]
List<Account> accountList = accountService.query();
System.out.println(accountList);
JsonConfig config = new JsonConfig();
config.setExcludes(new String[] { "name", "pass", "categories" });
String jsons = JSONArray.fromObject(accountList, config).toString();
System.out.println(jsons);
使用jsonConfig對 object進行過濾
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
controller 接收json
qq_35577329
2020-07-01 13:09:07
java中json格式的字符串和javabean互轉 json形式的對象數組轉成java對象
loveking6
2020-06-25 12:05:31
用JSONObject解析和處理json數據
小夏来了
2020-02-23 20:10:50
JAVA計算兩個經緯度之間的距離
qq_1012822599
2020-02-22 03:34:08
JAVA轉JOSN格式
wt598717394
2020-07-06 17:28:06
controller 接收json
qq_35577329
2020-07-01 13:09:07
java中json格式的字符串和javabean互轉 json形式的對象數組轉成java對象
loveking6
2020-06-25 12:05:31
用JSONObject解析和處理json數據
小夏来了
2020-02-23 20:10:50
Jackson
Java-Money
2020-02-22 21:27:20
Java 對象與json數據的轉換,續寫
家有小辉
2020-02-22 20:57:44
JAVA計算兩個經緯度之間的距離
qq_1012822599
2020-02-22 03:34:08
java中json格式的字符串和javabean互轉
loveking6
2019-08-06 19:01:43
json-lib 使用總結--java對象轉json字符串
lic0112
2018-12-07 16:43:41
JAVA解析JSON數據轉化爲Map對象
a20101021202
2018-09-04 11:49:55
轉載 《Struts2返回JSON數據的具體應用範例》
响马0709
2018-09-01 23:58:21