enter code here
Я работаю над созданием группы функций, которые возвращают строку json на основе параметров и внутреннего выбора.
Проблема, с которой я сталкиваюсь, заключается в том, что я зацикливаюсь на курсоре в pl / sql, выстраивая структуру json, она добавляет дополнительную запятую в конце последнего узла.
Он анализируется правильно, но HTML-оценка json не выполняется из-за этой лишней запятой. Можно ли удалить конкретный символ (скажем, последнюю запятую в строке) в pl / sql. Я посмотрел на REPLACE, но я не могу найти документацию по использованию REPLACE с конкретными экземплярами символа.
Цикл выглядит так:
FOR appGroup IN appGroups
LOOP
tsResults := tsResults || ' "Group" : { ';
tsResults := tsResults || ' "Id" : "' || appGroup.group_id || '", ';
tsResults := tsResults || '"Name" : "' || appGroupd.display_name || '" ';
tsResults := tsResults || ' }, ';
END LOOP;
Это самая последняя запятая в последнем ряду, которая вызывает у меня горе.
Есть ли способ убить последнего без захвата всех строковых символов перед ним и всех символов после него и их объединения?
Буду также признателен за любые предложения относительно того, как мне обойти эту проблему все вместе.
Обновление
Используя ответ Cybernate, я смог внести некоторые изменения, чтобы заставить его работать ... Первоначально сразу после END LOOP; У меня был дополнительный код, добавляющий больше к строке результата:
tsResults := tsResults || '}] }';
Что правильно завершило массив групп, над которым я работал ...
Я поместил следующий код перед этой строкой:
tiLastComma := INSTR(tsResults, ',', -1);
tsResults := SUBSTR(tsResults, 1, tiLastComma - 1);
Теперь json завершается корректно и корректно исчезает при использовании с jquery.