在Inno设置中解析JSON布尔值



我需要在Inno设置中解析JSON布尔值。我试着修改了"如何在Inno Setup中解析JSON字符串?"中的代码?解析布尔值如下:

function FindJsonBoolean(
Output: TJsonParserOutput; Parent: TJsonObject; Key: TJsonString;
var Bool: TJsonBool): Boolean;
var
JsonValue: TJsonValue;
begin
Result :=
FindJsonValue(Output, Parent, Key, JsonValue) and
(JsonValue.Kind = JVKBoolean);
if Result then
begin    
Bool := Output.Boolean[JsonValue.Index]; 
end;
end;

但它无法使用进行编译

未知类型"TJsonBool">

JsonParser库中没有TJsonBool。有:
TJsonWord = (JWUnknown, JWTrue, JWFalse, JWNull);

使用类似的方法,将TheWordJWTrue/JWFalse进行比较。

function FindJsonWord(
Output: TJsonParserOutput; Parent: TJsonObject; Key: TJsonString;
var TheWord: TJsonWord): Boolean;
var
JsonValue: TJsonValue;
begin
Result :=
FindJsonValue(Output, Parent, Key, JsonValue) and
(JsonValue.Kind = JVKWord);
if Result then
begin    
TheWord := Output.Words[JsonValue.Index]; 
end;
end;

相关内容

  • 没有找到相关文章

最新更新