[b]問題解釋[/b]
級聯解析就是類間相互引用,比如說classa中有classb的引用,classb中也有classa的引用,這種情況在hibernate中的雙向關聯會很常見。如果是這種情況,在json-lib解析的過程中,會出現net.sf.json.jsonexception: there is a cycle in the hierarchy異常。
[b]解決辦法[/b]
1、採用json-lib提供的過濾欄位的方法
jsonconfig config = new jsonconfig();
string excludeproperties = new string;
config.setexcludes(excludeproperties);
jsonobject jsonobject = jsonobject.fromobject(obj,config);
string jsonstr = jsonobject.tostring();
2、設定jsonconfig的迴圈策略
jsonconfig config = new jsonconfig();
config.setignoredefaultexcludes(false);
config.setcycledetectionstrategy(cycledetectionstrategy.lenient);
jsonobject jsonobject = jsonobject.fromobject(obj,config);
string jsonstr = jsonobject.tostring();
cycledetectionstrategy 是指遇到迴圈解析時將採用的策略。
cycledetectionstrategy 有如下幾種取值:
lenient
returns empty array and null object
noprop
returns a special object (ignore_property_obj)
that indicates the entire property should be ignored
strict
throws a jsonexception
Json lib 解析中文位址亂碼問題
net.sf.json.jsonexception expected a or at character 65 of parktel 1521611100 parkname 恆盛大廈 parkid 32,parkaddress 上海市閘北區華盛 2 parktype 0,totalparkingsp...
java利用json lib解析json字串
json lib 2.3 jdk13.jar ezmorph 1.0.3.jar commons lang.jar commons logging.jar commons beanutils.jar xom 1.1.jar commons collections 3.2.jar string qr ...
linux gpio子系統級聯中斷解析
linux 4.9 drivers pinctrl 中的gpio子系統中斷級聯解析 dts相關 中斷相關的device tree知識回顧 想要進行對映,首先要了解interrupt controller的拓撲結構。系統中的interrupt controller的拓撲結構以及其interrupt r...