enter code here
我正在构建一组函数,它们根据参数和内部选择返回一个json字符串。Oracle PL/SQL - 删除特定字符的最后一个实例
我遇到的问题是当我通过pl/sql中的光标循环时,构建了json的结构,它在最后一个节点的末尾添加了一个额外的逗号。
它解析正常,但由于额外的逗号,json的html eval失败。是否可以在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一起使用时正确传递。
Aashish,这会更好地表达Tobi的答案评论。直到你有足够的[声誉评论](http://stackoverflow.com/help/privileges/comment),请尝试提供直接回答问题的答案。 – kjhughes 2013-11-26 03:15:07