Hi Jon,
The json_object_t.PUT procedure does not escape multi-byte characters like apex_json.write does.
ie
apex_json.write('1', '£'); -- {"1":"\u00A3"}
l_json.PUT('2', '£'); -- {"2":"£"}
and
l_json.PUT('4', APEX_ESCAPE.JSON('£')); -- {"3":"\u00A3"}
And one does not appear to be able to escape the input to PUT without a '\' getting escaped into '\\' by the PUT procedure.
Some REST API's require multi-byte characters to be escaped , which is definitly a problem for me.