docs/Writerside/topics/json.h.md

changeset 1513
4d641c6a2f82
parent 1424
563033aa998c
--- a/docs/Writerside/topics/json.h.md	Mon Nov 24 22:39:18 2025 +0100
+++ b/docs/Writerside/topics/json.h.md	Tue Nov 25 20:35:27 2025 +0100
@@ -106,6 +106,8 @@
 
 CxJsonValue *cxJsonArrRemove(const CxJsonValue *value, size_t index);
 
+size_t cxJsonObjSize(const CxJsonValue *value);
+
 CxJsonValue *cxJsonObjGet(const CxJsonValue *value, AnyStr name);
 
 CxJsonValue *cxJsonObjRemove(const CxJsonValue *value, AnyStr name);
@@ -182,10 +184,7 @@
         const CxAllocator* allocator, int64_t num);
 
 CxJsonValue* cxJsonCreateString(const CxAllocator* allocator,
-        const char *str);
-
-CxJsonValue* cxJsonCreateCxString(
-        const CxAllocator* allocator, cxstring str);
+        AnyStr str);
 
 CxJsonValue* cxJsonCreateLiteral(
         const CxAllocator* allocator, CxJsonLiteral lit);
@@ -208,26 +207,23 @@
 int cxJsonArrAddValues(CxJsonValue* arr,
         CxJsonValue* const* val, size_t count);
 
-int cxJsonObjPut(CxJsonValue* obj, cxstring name, CxJsonValue* child);
+int cxJsonObjPut(CxJsonValue* obj, AnyStr name, CxJsonValue* child);
 
-CxJsonValue* cxJsonObjPutObj(CxJsonValue* obj, cxstring name);
+CxJsonValue* cxJsonObjPutObj(CxJsonValue* obj, AnyStr name);
 
-CxJsonValue* cxJsonObjPutArr(CxJsonValue* obj, cxstring name);
+CxJsonValue* cxJsonObjPutArr(CxJsonValue* obj, AnyStr name);
 
 CxJsonValue* cxJsonObjPutNumber(CxJsonValue* obj,
-        cxstring name, double num);
+        AnyStr name, double num);
 
 CxJsonValue* cxJsonObjPutInteger(CxJsonValue* obj,
-        cxstring name, int64_t num);
+        AnyStr name, int64_t num);
 
 CxJsonValue* cxJsonObjPutString(CxJsonValue* obj,
-        cxstring name, const char* str);
-
-CxJsonValue* cxJsonObjPutCxString(CxJsonValue* obj,
-        cxstring name, cxstring str);
+        AnyStr name, AnyStr str);
 
 CxJsonValue* cxJsonObjPutLiteral(CxJsonValue* obj,
-        cxstring name, CxJsonLiteral lit);
+        AnyStr name, CxJsonLiteral lit);
 ```
 
 The `cxJsonCreateXY()`-family of functions can be used to create JSON values which are allocated by the specified `allocator`.
@@ -256,33 +252,33 @@
 ```C
 CxJsonValue *obj = cxJsonCreateObj(NULL);
 
-cxJsonObjPutLiteral(obj, CX_STR("bool"), CX_JSON_FALSE);
-cxJsonObjPutInteger(obj, CX_STR("int"), 47);
+cxJsonObjPutLiteral(obj, "bool", CX_JSON_FALSE);
+cxJsonObjPutInteger(obj, "int", 47);
 
-CxJsonValue *strings = cxJsonObjPutArr(obj, CX_STR("strings"));
+CxJsonValue *strings = cxJsonObjPutArr(obj, "strings");
 cxJsonArrAddStrings(strings, (const char*[]) {"hello", "world"}, 2);
 
-CxJsonValue *nested = cxJsonObjPutObj(obj, CX_STR("nested"));
-CxJsonValue *objects = cxJsonObjPutArr(nested, CX_STR("objects"));
+CxJsonValue *nested = cxJsonObjPutObj(obj, "nested");
+CxJsonValue *objects = cxJsonObjPutArr(nested, "objects");
 CxJsonValue *obj_in_arr[2] = {
     cxJsonCreateObj(NULL),
     cxJsonCreateObj(NULL),
 };
-cxJsonObjPutInteger(obj_in_arr[0], CX_STR("name1"), 1);
-cxJsonObjPutInteger(obj_in_arr[0], CX_STR("name2"), 3);
+cxJsonObjPutInteger(obj_in_arr[0], "name1", 1);
+cxJsonObjPutInteger(obj_in_arr[0], "name2", 3);
 
-cxJsonObjPutInteger(obj_in_arr[1], CX_STR("name2"), 7);
-cxJsonObjPutInteger(obj_in_arr[1], CX_STR("name1"), 3);
+cxJsonObjPutInteger(obj_in_arr[1], "name2", 7);
+cxJsonObjPutInteger(obj_in_arr[1], "name1", 3);
 
 cxJsonArrAddValues(objects, obj_in_arr, 2);
 
-cxJsonArrAddNumbers(cxJsonObjPutArr(nested, CX_STR("floats")),
+cxJsonArrAddNumbers(cxJsonObjPutArr(nested, "floats"),
     (double[]){3.1415, 47.11, 8.15}, 3);
     
-cxJsonArrAddLiterals(cxJsonObjPutArr(nested, CX_STR("literals")),
+cxJsonArrAddLiterals(cxJsonObjPutArr(nested, "literals"),
     (CxJsonLiteral[]){CX_JSON_TRUE, CX_JSON_NULL, CX_JSON_FALSE}, 3);
  
-CxJsonValue *ints = cxJsonObjPutArr(nested, CX_STR("ints"));
+CxJsonValue *ints = cxJsonObjPutArr(nested, "ints");
 cxJsonArrAddIntegers(ints, (int64_t[]){4, 8, 15}, 3);
 
 CxJsonValue *nested_array = cxJsonCreateArr(NULL);

mercurial