JW_ARR_KV
JW_ARR_KV
Description
Write a key and an array value into a JSON object. Intended for use within a JW_OBJ. Adds commas automatically.
Parameters
| Name | Direction | Description |
|---|---|---|
j |
in,out | The target string to append to. |
k |
in | Key name for the array. |
arr |
in | A vector to iterate over. |
item |
out | Iterator variable for the current item. |
writer |
in | Code block that appends JSON for each item. |
Usage example (from documentation)
JW_ARR_KV(json, "tags", tag_vec, tag, {
JW_STR(json, tag);
});Success
Appends a key-value array pair to json
Failure
Does not return on failure
Usage example (Cross-references)
Usage examples (Cross-references)
JW_OBJ(json, {
JW_ARR_KV(json, "functions", functions, func, {
JW_OBJ(json, {
JW_INT_KV(json, "id", func.id); JW_INT_KV(json, "analysis_id", result.analysis_id);
JW_STR_KV(json, "sha256", result.sha256);
JW_ARR_KV(json, "tags", result.tags, tag, { JW_STR(json, tag); });
JW_STR_KV(json, "created_at", result.created_at);
JW_INT_KV(json, "model_id", result.model_id);
JW_OBJ(json, {
JW_ARR_KV(json, "numbers", numbers, num, { JW_INT(json, num); });
JW_ARR_KV(json, "strings", strings, str, { JW_STR(json, str); });
JW_ARR_KV(json, "booleans", booleans, b, { JW_BOOL(json, b); }); JW_OBJ(json, {
JW_ARR_KV(json, "numbers", numbers, num, { JW_INT(json, num); });
JW_ARR_KV(json, "strings", strings, str, { JW_STR(json, str); });
JW_ARR_KV(json, "booleans", booleans, b, { JW_BOOL(json, b); });
}); JW_ARR_KV(json, "numbers", numbers, num, { JW_INT(json, num); });
JW_ARR_KV(json, "strings", strings, str, { JW_STR(json, str); });
JW_ARR_KV(json, "booleans", booleans, b, { JW_BOOL(json, b); });
});
JW_OBJ(json, {
JW_ARR_KV(json, "numbers", empty_numbers, num, { JW_INT(json, num); });
JW_ARR_KV(json, "strings", empty_strings, str, { JW_STR(json, str); });
}); JW_OBJ(json, {
JW_ARR_KV(json, "numbers", empty_numbers, num, { JW_INT(json, num); });
JW_ARR_KV(json, "strings", empty_strings, str, { JW_STR(json, str); });
}); }
);
JW_ARR_KV(json, "list", empty_list, item, { JW_INT(json, item); });
JW_OBJ_KV(json, "deep", {
JW_OBJ_KV( );
JW_OBJ_KV(json, "filled_obj", { JW_INT_KV(json, "x", x_value); });
JW_ARR_KV(json, "empty_arr", empty_arr, item, { JW_INT(json, item); });
JW_ARR_KV(json, "filled_arr", filled_arr, item, { JW_INT(json, item); });
}); JW_OBJ_KV(json, "filled_obj", { JW_INT_KV(json, "x", x_value); });
JW_ARR_KV(json, "empty_arr", empty_arr, item, { JW_INT(json, item); });
JW_ARR_KV(json, "filled_arr", filled_arr, item, { JW_INT(json, item); });
}); VecPushBack(&languages, lang3);
JW_OBJ(json, { JW_ARR_KV(json, "languages", languages, lang, { JW_STR(json, lang); }); });
const char *expected = "{\"languages\":[\"C\",\"Python\",\"Rust\"]}"; JW_STR_KV(json, "name", product.name);
JW_FLT_KV(json, "price", product.price);
JW_ARR_KV(json, "tags", product.tags, tag, { JW_STR(json, tag); });
});- In
RoundTrip.c:375:
Str json = StrInit();
JW_OBJ(json, {
JW_ARR_KV(json, "numbers", original_numbers, num, { JW_INT(json, num); });
JW_ARR_KV(json, "strings", original_strings, str, { JW_STR(json, str); });
});- In
RoundTrip.c:376:
JW_OBJ(json, {
JW_ARR_KV(json, "numbers", original_numbers, num, { JW_INT(json, num); });
JW_ARR_KV(json, "strings", original_strings, str, { JW_STR(json, str); });
});- In
RoundTrip.c:550:
JW_INT_KV(json, "timeout", original.config.timeout);
JW_STR_KV(json, "log_level", original.config.log_level);
JW_ARR_KV(json, "features", original.config.features, feature, { JW_STR(json, feature); });
});
JW_ARR_KV(json, "numbers", original.numbers, num, { JW_INT(json, num); });- In
RoundTrip.c:552:
JW_ARR_KV(json, "features", original.config.features, feature, { JW_STR(json, feature); });
});
JW_ARR_KV(json, "numbers", original.numbers, num, { JW_INT(json, num); });
JW_ARR_KV(json, "flags", original.flags, flag, { JW_BOOL(json, flag); });
});- In
RoundTrip.c:553:
});
JW_ARR_KV(json, "numbers", original.numbers, num, { JW_INT(json, num); });
JW_ARR_KV(json, "flags", original.flags, flag, { JW_BOOL(json, flag); });
});- In
RoundTrip.c:656:
JW_OBJ(json, {
JW_STR_KV(json, "empty_string", empty_str);
JW_ARR_KV(json, "empty_numbers", empty_numbers, num, { JW_INT(json, num); });
JW_ARR_KV(json, "empty_strings", empty_strings, str, { JW_STR(json, str); });
JW_OBJ_KV(- In
RoundTrip.c:657:
JW_STR_KV(json, "empty_string", empty_str);
JW_ARR_KV(json, "empty_numbers", empty_numbers, num, { JW_INT(json, num); });
JW_ARR_KV(json, "empty_strings", empty_strings, str, { JW_STR(json, str); });
JW_OBJ_KV(
json,
Last updated on