Index: src/test/com/mongodb/util/JSONTest.java
===================================================================
--- src/test/com/mongodb/util/JSONTest.java	(revision 815ca336503b582b3ac199662343f2ca043c76eb)
+++ src/test/com/mongodb/util/JSONTest.java	(revision )
@@ -331,6 +331,13 @@
         assert (a.equals(b));
     }
 
+    @org.testng.annotations.Test
+    public void testUUID() {
+        DBObject obj = BasicDBObjectBuilder.start().add("uuid", UUID.randomUUID()).get();
+        Object o = JSON.parse(obj.toString());
+        System.err.print(o);
+    }
+
     public static void main( String args[] ){
         (new JSONTest()).runConsole();
     }
Index: src/main/com/mongodb/util/JSON.java
===================================================================
--- src/main/com/mongodb/util/JSON.java	(revision 815ca336503b582b3ac199662343f2ca043c76eb)
+++ src/main/com/mongodb/util/JSON.java	(revision )
@@ -210,7 +210,15 @@
             serialize( temp, buf );
             return;
         }
-        
+
+        if ( o instanceof UUID ){
+            UUID c = (UUID)o;
+            BasicDBObject temp = new BasicDBObject();
+            temp.put( "$uuid" , c.toString() );
+            serialize( temp, buf );
+            return;
+        }
+        
         throw new RuntimeException( "json can't serialize type : " + o.getClass() );
     }
 
