mORMot / Synopse JSON中未知元素的默认值

问题描述

我真的很喜欢mORMot / Synopse实现JSON处理的方式,尤其是可以在代码中使用JSON元素的方式(例如MyString := myjson.name)。这对于包装只有一个Variant(JSON)且状态通过getter / setter访问的对象非常有用,如下所示:

  TMyObject = class
  private
    FState: Variant;

    function GetName: String;
  public
    constructor Create(AJson: Variant);

    property Name: String read GetName;
  end;

  function TMyObject.GetName: String;
  begin
    Result := FState.name;
  end;

它确实很强大,但是如果在相应的JSON文档中找不到元素,我想获取“默认”变体值(因此,如果没有“名称”,则上面的示例应返回一个空字符串)。

我不想使用NullStrictConvert,因为那不是线程安全的,并且会影响我们程序的其余部分。当然,我可以检查VarIsNull(FState.name),但是然后我必须为每个元素执行此操作,并且我不希望没有此额外的样板。

有什么建议吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)