es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo analizar un valor booleano de JSON en Inno Setup?

Necesito analizar el valor booleano de JSON en Inno Setup. Intenté modificar el código de https://stackoverflow.com/q/34290115/850848#34291316 para analizar Booleans de esta manera:
pascal
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;

Pero no se pudo compilar por el siguiente error:

Tipo desconocido ‘TJsonBool’

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para resolver el error de compilación de tipo desconocido ‘TJsonBool’, necesitas definir el tipo ‘TJsonBool’ en tu código. Aquí va un ejemplo:

    type
      TJsonBool = Boolean;
    
    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;
    

    En este ejemplo, estamos definiendo ‘TJsonBool’ como un alias para el tipo Boolean incorporado. Puedes modificar la definición para usar un tipo diferente si es necesario. Después de definir ‘TJsonBool’, el código debería compilar sin errores.

Comments are closed.