js对象转json数组的简单实现案例

function obj2Str(obj) {
        switch (typeof (obj)) {
          case 'object':
            var ret = [];
            if (obj instanceof Array) {
              for (var i = 0, len = obj.length; i & lt; len; i++) {
                ret.push(obj2Str(obj[i]));
              }
              return '[' + ret.join(',') + ']';
            }
            else if (obj instanceof RegExp) {
              return obj.toString();
            }
            else {
              for (var a in obj) {
                ret.push(a + ':' + obj2Str(obj[a]));
              }
              return '{' + ret.join(',') + '}';
            }
          case 'function':
            return 'function() {}';
          case 'number':
            return obj.toString();
          case 'string':
            return "\"" + obj.replace(/(\\|\")/g, "\\$1").replace(/\n|\r|\t/g, function (a) { return ("\n" == a) ? "\\n" : ("\r" == a) ? "\\r" : ("\t" == a) ? "\\t" : ""; }) + "\"";
          case 'boolean':
            return obj.toString();
          default:
            return obj.toString();
        }
      }