This is a stack trace of calling json_string() :
json_string(const char *value)
json_stringn(value, strlen(value))
json_stringn_nocheck(value, len)
string_create(value, len, 0)
string_create
then call json_strndup(value,len) to duplicate value of string.
The problem is there that I couldn't find out when this allocated memory for value
is freed.