PLSQL parse json list: JSON Scanner exception



我正在解析一个 json 提要,但是当我循环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;

我做错了什么吗?或者有什么提示吗?

我想通了....

我将数据读入缓冲区字符串,基本上按块处理数据,然后将其附加到 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;

希望这能帮助那些被难倒的人:)

最新更新