从字符串创建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?
答案 0 :(得分:1)
whorsyourdaddy的评论指出了正确的方向。
要能够将INTO存储到JSon中,您需要一个stObject。您可以通过以下方式进行检查:
if not MySo.IsType(stObject) then raise....