@Override
    public void write( Writer writer )
	throws IOException {

	writer.write( "{" );

	Iterator<Map.Entry<String,JSONValue>> iter = this.map.entrySet().iterator();
	int i = 0;
	while( iter.hasNext() ) {
	    
	    if( i > 0 )
		writer.write( "," );
	    writer.write( " " );

	    Map.Entry<String,JSONValue> entry = iter.next();	    
	    JSONString.writeJSON( writer, entry.getKey() );

	    writer.write( ": " );

	    // Convert Java NULL to JSON NULL silently
	    if( entry.getValue() == null )
		JSONValue.NULL.write( writer );
	    else
		entry.getValue().write( writer );

	    i++;
	}

	if( i > 0 )
	    writer.write( " " );

	writer.write( "}" );
	
    }