ホームページ  >  記事  >  ウェブフロントエンド  >  json-lib が表示されます。 solution_json 階層にサイクルがあります。

json-lib が表示されます。 solution_json 階層にサイクルがあります。

WBOY
WBOYオリジナル
2016-05-16 18:34:001094ブラウズ

解決策

1. ループの原因となるフィールドを除外するように JSON-LIB を設定します。

Java コード

コードをコピー コードは次のとおりです:

JsonConfig config = new JsonConfig();
config.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);
config.registerJsonValueProcessor(Date.class,new DateJsonValueProcessor("yyyy-MM-dd") )); //プロセッサーレジスタの日付
config.setExcludes(new String[]{//この配列を設定し、フィルターするフィールドを指定するだけです。
"consignee",
"contract",
"coalInfo",
"coalType",
"startStation",
"balanceMan",
"endStation"
}); total.toString( ) ","Datas":" JSONSerializer.toJSON(list,config).toString() "}";
out.print(tempStr)
JsonConfig config = new JsonConfig(); 🎜>config.setIgnoreDefaultExcludes(false);
config.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);
config.registerJsonValueProcessor(Date.class,new DateJsonValueProcessor("yyyy-MM-dd"));
config .setExcludes(new String[]{//この配列を設定し、フィルターするフィールドを指定するだけです。 "consignee"、"contract"、"coalInfo"、"coalType"、"startStation"、"balanceMan"、" endStation" }); String tempStr = "{"TotalRecords":" total.toString() ","Datas":" JSONSerializer.toJSON(list,config).toString() "}"; out.print(tempStr);

2. JSON-LIB の setCycleDetectionStrategy 属性を設定して、サイクルを自動的に処理できるようにします。これにより、データが複雑すぎる場合、データのオーバーフローや効率の低下が発生します。
Java コード
[コード]
JsonConfig config = new JsonConfig();
config.setIgnoreDefaultExcludes(false);
config.registerJsonValueProcessor (Date.class,new DateJsonValueProcessor("yyyy-MM-dd")); //日付プロセッサ レジスタ
String tempStr = "{"TotalRecords":" total.toString() ","Datas":" JSONSerializer。 toJSON(list,config).toString() "}";
out.print(tempStr);
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。