Skip to content

JR_BOOL_KV

JR_BOOL_KV

Description

Read a boolean key-value pair if key matches.

Parameters

Name Direction Description
si in,out JSON stream iterator to read from.
k in Expected key name (C-string).
b out Boolean variable to store the value.

Usage example (from documentation)

  JR_BOOL_KV(si, "enabled", flag);

Success

b contains value if key matched

Failure

No-op if key does not match

Usage example (Cross-references)

Usage examples (Cross-references)
        JR_OBJ(json, {
            JR_STR_KV(json, "name", enum_name);
            JR_BOOL_KV(json, "to_from_str", to_from_str);
    
            JR_OBJ_KV(json, "invalid_enum", {
    
        JR_OBJ(si, {
            JR_BOOL_KV(si, "enabled", enabled);
            JR_BOOL_KV(si, "visible", visible);
        });
        JR_OBJ(si, {
            JR_BOOL_KV(si, "enabled", enabled);
            JR_BOOL_KV(si, "visible", visible);
        });
            JR_STR_KV(si, "name", person.name);
            JR_INT_KV(si, "age", person.age);
            JR_BOOL_KV(si, "is_active", person.is_active);
            JR_FLT_KV(si, "salary", person.salary);
        });
    
        JR_OBJ(si, {
            JR_BOOL_KV(si, "debug_mode", config.debug_mode);
            JR_INT_KV(si, "timeout", config.timeout);
            JR_STR_KV(si, "log_level", config.log_level);
                JR_STR_KV(si, "email", data.user.email);
            });
            JR_BOOL_KV(si, "active", data.active);
        });
            JR_INT_KV(si, "id", data.id);
            JR_STR_KV(si, "name", data.name);
            JR_BOOL_KV(si, "active", data.active);
            JR_FLT_KV(si, "score", data.score);
        });
    
        JR_OBJ(si, {
            JR_BOOL_KV(si, "status", response.status);
            JR_STR_KV(si, "message", response.message);
                            JR_STR_KV(si, "nearest_neighbor_function_name", sym.function_name);
                            JR_STR_KV(si, "nearest_neighbor_sha_256_hash", sym.sha256);
                            JR_BOOL_KV(si, "nearest_neighbor_debug", sym.debug);
                            JR_STR_KV(si, "nearest_neighbor_function_name_mangled", sym.function_mangled_name);
                        });
    
        JR_OBJ(si, {
            JR_BOOL_KV(si, "status", response.status);
            JR_STR_KV(si, "message", response.message);
                            JR_STR_KV(si, "nearest_neighbor_function_name", sym.function_name);
                            JR_STR_KV(si, "nearest_neighbor_sha_256_hash", sym.sha256);
                            JR_BOOL_KV(si, "nearest_neighbor_debug", sym.debug);
                            JR_STR_KV(si, "nearest_neighbor_function_name_mangled", sym.function_mangled_name);
                        });
    
        JR_OBJ(si, {
            JR_BOOL_KV(si, "status", response.status);
            JR_STR_KV(si, "message", response.message);
                            JR_STR_KV(si, "nearest_neighbor_function_name", sym.function_name);
                            JR_STR_KV(si, "nearest_neighbor_sha_256_hash", sym.sha256);
                            JR_BOOL_KV(si, "nearest_neighbor_debug", sym.debug);
                            JR_STR_KV(si, "nearest_neighbor_function_name_mangled", sym.function_mangled_name);
                        });
            JR_INT_KV(si, "count", parsed.count);
            JR_FLT_KV(si, "temperature", parsed.temperature);
            JR_BOOL_KV(si, "enabled", parsed.enabled);
            JR_STR_KV(si, "message", parsed.message);
        });
        StrIter si = StrIterFromStr(json);
        JR_OBJ(si, {
            JR_BOOL_KV(si, "flag1", parsed.flag1);
            JR_BOOL_KV(si, "flag2", parsed.flag2);
            JR_BOOL_KV(si, "flag3", parsed.flag3);
        JR_OBJ(si, {
            JR_BOOL_KV(si, "flag1", parsed.flag1);
            JR_BOOL_KV(si, "flag2", parsed.flag2);
            JR_BOOL_KV(si, "flag3", parsed.flag3);
            JR_BOOL_KV(si, "flag4", parsed.flag4);
            JR_BOOL_KV(si, "flag1", parsed.flag1);
            JR_BOOL_KV(si, "flag2", parsed.flag2);
            JR_BOOL_KV(si, "flag3", parsed.flag3);
            JR_BOOL_KV(si, "flag4", parsed.flag4);
        });
            JR_BOOL_KV(si, "flag2", parsed.flag2);
            JR_BOOL_KV(si, "flag3", parsed.flag3);
            JR_BOOL_KV(si, "flag4", parsed.flag4);
        });
                JR_STR_KV(si, "name", parsed_person.name);
                JR_INT_KV(si, "age", parsed_person.age);
                JR_BOOL_KV(si, "is_active", parsed_person.is_active);
                JR_FLT_KV(si, "salary", parsed_person.salary);
            });
                JR_STR_KV(si, "name", parsed.user.name);
                JR_INT_KV(si, "age", parsed.user.age);
                JR_BOOL_KV(si, "is_active", parsed.user.is_active);
                JR_FLT_KV(si, "salary", parsed.user.salary);
            });
            });
            JR_OBJ_KV(si, "config", {
                JR_BOOL_KV(si, "debug_mode", parsed.config.debug_mode);
                JR_INT_KV(si, "timeout", parsed.config.timeout);
                JR_STR_KV(si, "log_level", parsed.config.log_level);
            JR_INT_KV(si, "zero", parsed.zero);
            JR_FLT_KV(si, "zero_float", parsed.zero_float);
            JR_BOOL_KV(si, "true_val", parsed.true_val);
            JR_BOOL_KV(si, "false_val", parsed.false_val);
        });
            JR_FLT_KV(si, "zero_float", parsed.zero_float);
            JR_BOOL_KV(si, "true_val", parsed.true_val);
            JR_BOOL_KV(si, "false_val", parsed.false_val);
        });
            JR_INT_KV(si, "int_zero", obj.int_zero);
            JR_FLT_KV(si, "float_zero", obj.float_zero);
            JR_BOOL_KV(si, "bool_false", obj.bool_false);
        });
            JR_STR_KV(si, "name", obj.name);
            JR_INT_KV(si, "value", obj.value);
            JR_BOOL_KV(si, "flag", obj.flag);
        });
Last updated on