해결 방법
1. 루프를 발생시키는 필드를 필터링하도록 JSON-LIB를 설정합니다.
Java 코드
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)
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 코드
[code]
JsonConfig config = new JsonConfig();
config.setIgnoreDefaultExcludes(false);
config.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT)
config.registerJsonValueProcessor (Date.class,new DateJsonValueProcessor("yyyy-MM-dd")); //날짜 프로세서 레지스터
String tempStr = "{"TotalRecords":" total.toString() ","Datas":" JSONSerializer. toJSON(list,config).toString() "}"
out.print(tempStr)