JSONPUTMEMBER appends a member (or name-value pair), as UTF-8, to the JSON text. This function returns a size_t 1 value that specifies the number of bytes that are written to the buffer.
>>-JSONPUTMEMBER(p,n,x)----------------------------------------><
dcl b(3) fixed bin init(2,3,5);
dcl buffer char(1000);
dcl p pointer;
dcl n fixed bin(31);
p = addr(buffer);
n = length(buffer);
written = jsonPutMember( p, n, b );
The above code writes the following UTF-8 string to the buffer, and assigns the value 11 to the variable written.
"B":[2,3,5]
dcl 1 c, 2 d fixed bin init(2), 2 e fixed bin init(3);
dcl buffer char(1000);
dcl p pointer;
dcl n fixed bin(31);
p = addr(buffer);
n = length(buffer);
written = jsonPutMember( p, n, c );
"C":{"D":2,"E":3}
dcl 1 c(2), 2 d fixed bin init(2,3), 2 d fixed bin init(5,7);
dcl buffer char(1000);
dcl p pointer;
dcl n fixed bin(31);
p = addr(buffer);
n = length(buffer);
written = jsonPutMember( p, n, c );
"C":[{"D":2,"E":5},{"D":3,"E":7}]
dcl x fixed bin(31) init(11);
dcl y fixed bin(31) init(13);
dcl buffer char(1000);
dcl p pointer;
dcl n fixed bin(31);
p = addr(buffer);
n = length(buffer);
written = 0;
written += jsonPutObjectStart( p+written, n-written );
written += jsonPutMember( p+written, n-written, x );
written += jsonPutComma( p+written, n-written );
written += jsonPutMember( p+written, n-written, y );
written += jsonPutObjectEnd( p+written, n-written );
{"X":11,"Y":13}
Unlike the previous examples, this buffer contains complete, valid JSON text.