我正在解析json feed但是当我循环json_list时出现以下错误:
ORA-20100:JSON扫描程序异常@行:1列:33086 - 未找到字符串结尾
看着饲料,我找不到任何与众不同的东西。它开始让我想知道是否存在角色限制。
我的代码很简单......有相关部分:
DECLARE
a_list json_list;
v_list clob;
obj_ json;
.....
BEGIN
....
req := utl_http.begin_request (v_url,'GET');
res := utl_http.get_response (req);
utl_http.read_text(res, v_list);
a_list := json_list(v_list);
for i in 1 .. a_list.count loop
obj_ := json(a_list.get(i));
val_source := obj_.get('source');
val_date := obj_.get('date');
el_source := val_source.get_string;
el_date := val_date.get_string;
end loop;
...
END;
有什么我做错的吗?还是有任何提示?
答案 0 :(得分:0)
我想通了......
我将数据读入缓冲区字符串,基本上通过块处理数据,然后将其附加到clob中。
dbms_lob.createtemporary(p_res_clob, false);
req := utl_http.begin_request (v_url,'GET');
res := utl_http.get_response (req);
begin
-- process the request and get the response:
loop
utl_http.read_text(res,l_buffer,32000);
dbms_lob.writeappend(p_res_clob,length(l_buffer), l_buffer);
end loop;
end;
a_list := json_list(v_list);
for i in 1 .. a_list.count loop
obj_ := json(a_list.get(i));
val_source := obj_.get('source');
val_date := obj_.get('date');
el_source := val_source.get_string;
el_date := val_date.get_string;
end loop;
...
END;
希望这能帮助陷入困境的人:)