105 for(node_t *prev_node = NULL, *curr_node = object->head; curr_node != NULL; prev_node = curr_node, curr_node = curr_node->next)
107 if(strcmp(curr_node->key, key) == 0)
111 if(prev_node == NULL)
113 object->head = curr_node->next;
117 prev_node->next = curr_node->next;
122 nyx_object_free(curr_node->value);
194 bool modified =
true;
196 for(node_t *curr_node = object->head; curr_node != NULL; curr_node = curr_node->next)
198 if(strcmp(curr_node->key, key) == 0)
200 modified = !nyx_object_equal(curr_node->value, value);
202 nyx_object_free(curr_node->value);
204 curr_node->value = value;
214 node->key = strcpy((
str_t) (node + 1), key);
221 if(object->head == NULL)
228 object->tail->next = node;
256 nyx_string_builder_t *sb = nyx_string_builder_new();
258 nyx_string_builder_append(sb, NYX_SB_NO_ESCAPE,
"{");
260 for(node_t *curr_node = object->head; curr_node != NULL; curr_node = curr_node->next)
264 str_t curr_node_val = nyx_object_to_string(curr_node->value);
266 nyx_string_builder_append(sb, NYX_SB_NO_ESCAPE,
"\"");
267 nyx_string_builder_append(sb, NYX_SB_ESCAPE_JSON, curr_node->key);
268 nyx_string_builder_append(sb, NYX_SB_NO_ESCAPE,
"\"",
":", curr_node_val);
274 if(curr_node->next != NULL)
276 nyx_string_builder_append(sb, NYX_SB_NO_ESCAPE,
",");
282 nyx_string_builder_append(sb, NYX_SB_NO_ESCAPE,
"}");
284 str_t result = nyx_string_builder_to_string(sb);
286 nyx_string_builder_free(sb);