【更新说明】
HasChild函数用于判定当前结点下,是否存在指定路径的子结点,如果存在,则返回True,同时,通过AChild参数返回找到的子结点,如果失败,则返回False,等价于下面的代码:
[Delphi]
AChild:=AMsgPack.ItemByPath(APath); if AChild<>nil then ... else ...
[C++]
AChild=AMsgPack->ItemByPath(APath); if (AChild) ... else ...
而使用HasChild后,上面的代码就精简为:
[Delphi]
if AMsgPack.HasChild(APath,AChild) then ... else ...
[C++]
if AMsgPack.HasChild(APath,AChild) then ... else ...
【问题描述】
QMsgPack的ForcePath在处理类似于下面的路径时,建立的对象层次不正确。
a.b[].c
正确的目录层次对应的Json结构应该是:
{ "a":{ "b":[ { "c":null } ] } }
原来的代码错误生成的结果是:
{ "a":{ "b":[ null ] } }
【严重程度】
中等
【更新级别】
建议