function jsonize(data_p) {
   if (typeof data_p == "string") {
    return "\"" + data_p + "\"";
   } else if (typeof data_p == "number") {
    return data_p;
   } else if (typeof data_p == "boolean") {
    return (data_p) ? "true" : "false";
   } else if (data_p instanceof Array) {
    var list = [];
    for (var i=0; i<data_p.length; i++)
    {
     list.push(ase.json.jsonize(data_p[i]));
    }
    return "[" + list.join(",") + "]";
   } else if (typeof data_p == "object") {
    var list = [];
    for (key in data_p)
    {
     list.push("\"" + key + "\":" + ase.json.jsonize(data_p[key]));
    }
    return "{" + list.join(",") + "}";
   }
   
   return "\"UNKNOWN\"";
}

