/** * json_node_get_boolean: * @node: a #JsonNode of type %JSON_NODE_VALUE * * Gets the boolean value stored inside a #JsonNode * * Return value: a boolean value. */ gboolean json_node_get_boolean (JsonNode *node) { g_return_val_if_fail (JSON_NODE_IS_VALID (node), FALSE); if (JSON_NODE_TYPE (node) == JSON_NODE_NULL) return FALSE; if (JSON_VALUE_HOLDS_BOOLEAN (node->data.value)) return json_value_get_boolean (node->data.value); if (JSON_VALUE_HOLDS_INT (node->data.value)) return json_value_get_int (node->data.value) != 0; if (JSON_VALUE_HOLDS_DOUBLE (node->data.value)) return json_value_get_double (node->data.value) != 0.0; return FALSE; }
/** * json_node_get_double: * @node: a #JsonNode of type %JSON_NODE_VALUE * * Gets the double value stored inside a #JsonNode * * Return value: a double value. */ gdouble json_node_get_double (JsonNode *node) { g_return_val_if_fail (node != NULL, 0.0); if (JSON_NODE_TYPE (node) == JSON_NODE_NULL) return 0; if (JSON_VALUE_HOLDS_DOUBLE (node->data.value)) return json_value_get_double (node->data.value); if (JSON_VALUE_HOLDS_INT (node->data.value)) return (gdouble) json_value_get_int (node->data.value); if (JSON_VALUE_HOLDS_BOOLEAN (node->data.value)) return (gdouble) json_value_get_boolean (node->data.value); return 0.0; }