템플릿 툴킷을 사용하여 간단한 JSON 응답을 구성합니다 (아래 코드 참조). 마지막 부분을 제외하고 응답의 모든 요소 뒤에 쉼표를 넣어야합니다.템플릿 툴킷, 중첩 루프의 마지막 반복 테스트
나는 TT 반복기를 사용해야한다고 믿지만, 제대로하지는 않는다.
이 코드를 사용하면 쉼표가 여전히 마지막 요소의 끝에 인쇄됩니다.
문제는 외부 및 내부 루프가 마지막 반복에 있지 않는 쉼표를 추가해야
[% UNLESS outer.last && loop.last %],[% END %]
이 들어있는 부분으로 자리 잡고 있습니다.
내가 잘못 된 것에 대한 도움은 크게 감사하겠습니다.
{ "success": true, "filesdata": [
[%~ USE outer = iterator(objects); FOREACH object IN outer;
FOREACH rep IN object.reps;
IF rep.rep == reptype %]
{ "id":"[% object.id | xml %]", "url":"[% rep.src | xml %]", "story":"[% object.story | xml %]" }[% UNLESS outer.last && loop.last %],[% END %]
[%~ END;
END;
END ~%]
] }
. 개인적으로 필자는 Template :: Plugin :: JSON :: Escape를 좋아하지만 중요한 것은 직접 만든 코드 생성을 피하는 것이다. 런타임에 예기치 않은 조건/값의 위험이 증가하여 템플릿이 폭발 할 수 있습니다. – RET