mco_lJSON_obj_add_str

Prototype

    MCO_RET mco_lJSON_obj_add_str(lews_JSON_context_h json_ctx, const char *key, const char *value);

Arguments

json_ctx
Pointer to an initialized lews_JSON_context_t structure.
key
Null-terminated string specifying the name of the JSON field to be added.
value
Null-terminated string containing the value to be assigned to the field.

Description

This function adds a string key-value pair to the current JSON object (e.g., "city": "New York").

The function automatically handles JSON escaping of special characters in the value (such as quotes, backslashes, and control characters) according to RFC 8259.

The function may trigger a buffer flush and send data over the network if there is insufficient space in the output buffer to write the formatted key-value pair.

This function can only be called when the current context is inside a JSON object. Attempting to call it at the root level or inside an array will result in an error.

    lews_JSON_context_t json_ctx;
    ...
    ret = mco_lJSON_obj_add_str(&json_ctx, "city", "New York");
    if (ret != MCO_S_OK) {
        printf("mco_lJSON_obj_add_str error %d\n", ret);
    }
    ...

Return Codes

MCO_S_OK
String key-value pair successfully added to the current JSON object.
MCO_E_NW_SENDERR
An error occurred while flushing the output buffer due to insufficient space for the formatted key-value pair.
MCO_E_LEWS_PARENT_IS_NOT_OBJECT
The current parent context is not a JSON object (e.g., you are at the root level or inside an array).
Other error codes
May indicate internal errors (e.g., invalid arguments, null pointers).

Files

Header file:
mcoewslite.h
Source file:
mcoewslite.c
Library:
mcoewslite.a