? tojson.patch
Index: json_server.js
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/json_server/json_server.js,v
retrieving revision 1.1
diff -u -p -r1.1 json_server.js
--- json_server.js	9 Nov 2007 17:34:57 -0000	1.1
+++ json_server.js	1 Apr 2009 20:59:40 -0000
@@ -1,6 +1,17 @@
 //$Id: json_server.js,v 1.1 2007/11/09 17:34:57 dmitrig01 Exp $
+function isArray(obj) {
+   if (obj.constructor.toString().indexOf("Array") == -1)
+      return false;
+   else
+      return true;
+}
+
 Drupal.toJson = function(v) {
-  switch (typeof v) {
+  type = typeof v;
+  if (type == 'object')
+    type = isArray(v) ? 'array' : 'object';
+  
+  switch (type) {
     case 'boolean':
       return v == true ? 'TRUE' : 'FALSE';
     case 'number':
@@ -8,11 +19,19 @@ Drupal.toJson = function(v) {
     case 'string':
       return '"'+ v +'"';
     case 'object':
-      var output = "{";
+      var output = '';
       for(i in v) {
         output = output + i + ":" + Drupal.toJson(v[i]) + ",";
       }
-      output = output + "}";
+      output = "{" + output + "}";
+      return output;      
+    case 'array':
+      var output = '';
+      items = new Array();
+      for(i in v) {
+        items[i] = Drupal.toJson(v[i]);        
+      }
+      output = "[" + items.join(",") + "]";
       return output;
     default:
       return 'null';
