如何检查SuperObject是否有效?

时间:2018-07-24 09:09:38

标签: json delphi delphi-2010 superobject

从字符串创建SuperObject时,该字符串可能不是有效的JSon。 不幸的是,在这种情况下,命令SO不会引发异常。 我最终想到了一个可以在其中存储数据的对象,但是“存储的”数据却无处丢失。

示例:

 MySo:=SO('{}');
 MySO.S['ok']:='test';
 Memo1.Lines.Add(MySO.AsJSon(True, False));

 MySo:=SO('');
 MySO.S['fail']:='mimimi';
 Memo1.Lines.Add(MySO.AsJSon(True, False));  // returns '""' ??!??

如何检查字符串是否已成功转换为有效且有效的SuperObject?

1 个答案:

答案 0 :(得分:1)

whorsyourdaddy的评论指出了正确的方向。

要能够将INTO存储到JSon中,您需要一个stObject。您可以通过以下方式进行检查:

 if not MySo.IsType(stObject) then raise....