QJSON更新-修正了空数组或空JSON对象加载出错的问题

【问题描述】

QJSON在解析空白的JSON数组和对象时,保存没有问题,加载出错,如下面的JSON代码:

[]

{}

会提示无效的JSON错误。

问题发生原因是在LoadFromStream函数的实现时,检查了Json源数据流的大小,当小于等于2时,认为是无效的Json数据。

procedure TQJson.LoadFromStream(AStream: TStream; AEncoding: TTextEncoding);
var
  s: QStringW;
begin
s := LoadTextW(AStream, AEncoding);
if Length(s) > 2 then//<--问题出在这儿
  Parse(PQCharW(s), Length(s))
else
  raise Exception.Create(SBadJson);
end;

将上面的判断改为>=即可解决本问题。

【严重级别】

【更新级别】

建议更新

【特别感谢】

恢弘报告此问题。

分享到: