mco_lJSON_arr_add_str

Prototype

    MCO_RET mco_lJSON_arr_add_str(lews_JSON_context_h json_ctx, const char *value);

Arguments

json_ctx
Pointer to an initialized lews_JSON_context_t structure.
value
Null-terminated string to be added as an element to the current JSON array.

Description

This function appends a string value to the current JSON array (e.g., adds "hockey" as an array element).

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 string element.

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

    ...
    ret = mco_lJSON_obj_open_arr(&json_ctx, "hobbies");
    if (ret == MCO_S_OK) {
        ret = mco_lJSON_arr_add_str(&json_ctx, "hockey");
        if (ret != MCO_S_OK) {
            printf("mco_lJSON_arr_add_str error %d\n", ret);
        }
        ret = mco_lJSON_arr_add_str(&json_ctx, "football");
        if (ret != MCO_S_OK) {
            printf("mco_lJSON_arr_add_str error %d\n", ret);
        }
        ret = mco_lJSON_arr_add_str(&json_ctx, "basketball");
        if (ret != MCO_S_OK) {
            printf("mco_lJSON_arr_add_str error %d\n", ret);
        }
        ret = mco_lJSON_obj_close(&json_ctx);
        if (ret != MCO_S_OK) {
            printf("mco_lJSON_obj_close error %d\n", ret);
        }
    }
    ...

Return Codes

MCO_S_OK
String value successfully added to the current JSON array.
MCO_E_NW_SENDERR
An error occurred while flushing the output buffer due to insufficient space for the formatted string element.
MCO_E_LEWS_PARENT_IS_NOT_ARRAY
The current parent context is not a JSON array (e.g., you are at the root level or inside an object).
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