--- libelwix/inc/elwix/ajson.h 2025/08/21 15:40:07 1.8.2.1 +++ libelwix/inc/elwix/ajson.h 2025/08/25 12:58:08 1.9.2.3 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: ajson.h,v 1.8.2.1 2025/08/21 15:40:07 misho Exp $ +* $Id: ajson.h,v 1.9.2.3 2025/08/25 12:58:08 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -166,15 +166,32 @@ double json_token2dbl(const char *jstr, jtok_t * __res */ int json_token2bool(const char *jstr, jtok_t * __restrict tok); /* - * json_token2array() - Convert token to string array + * json_token2vars() - Convert token to string variable array * * @jstr = JSON string * @tok = Token for convert * return: =NULL error or !=NULL allocated array with string variables, * after use should be ait_freeVars() */ +array_t *json_token2vars(const char *jstr, jtok_t * __restrict tok); +/* + * json_token2array() - Convert token to string array + * + * @jstr = JSON string + * @tok = Token for convert + * return: =NULL error or !=NULL allocated array with strings, + * after use should be json_freearray() + */ array_t *json_token2array(const char *jstr, jtok_t * __restrict tok); +/* + * json_freearray() - Free & destroy allocated array from json_token2array function + * + * @parr = Array + * return -1 error or 0 ok + */ +int json_freearray(array_t **parr); + /* * json_findbykey() - Find token data by key * @@ -223,9 +240,18 @@ long json_objscope(const char *key, const char *jstr, * json_validate() - Validate JSON * * @jstr = JSON string + * @started = if started != NULL then here will return start position of found JSON * return: -1 error or >=0 where valid JSON ends */ -int json_validate(const char *jstr); +int json_validate(const char *jstr, int *started); +/* + * json_marshaling() - Prepare JSON to one continues line + * + * @jstr = JSON string + * @space = if it is 0 then spaces will be removed + * return NULL error or !=NULL ready JSON for proceeding + */ +char *json_marshaling(char * __restrict jstr, int space); /*