在 Inno Setup 中解析 JSON 布尔值?
Parsing JSON Boolean value in Inno Setup?
我需要在 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;
但编译失败:
Unknown type 'TJsonBool'
JsonParser library中没有TJsonBool
。有:
TJsonWord = (JWUnknown, JWTrue, JWFalse, JWNull);
使用类似的东西并将 TheWord
与 JWTrue
/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;
我需要在 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;
但编译失败:
Unknown type 'TJsonBool'
JsonParser library中没有TJsonBool
。有:
TJsonWord = (JWUnknown, JWTrue, JWFalse, JWNull);
使用类似的东西并将 TheWord
与 JWTrue
/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;