title: Jackson filtering out fields without annotations
body: <p>I was trying to filter out certain fields from serialization via <code>SimpleBeanPropertyFilter</code> using the following (simplified) code:</p>
  
  <pre><code>public static void main(String[] args) {
      ObjectMapper mapper = new ObjectMapper();
  
      SimpleFilterProvider filterProvider = new SimpleFilterProvider().addFilter("test",
              SimpleBeanPropertyFilter.filterOutAllExcept("data1"));
      try {
          String json = mapper.writer(filterProvider).writeValueAsString(new Data());
  
          System.out.println(json); // output: {"data1":"value1","data2":"value2"}
  
      } catch (JsonProcessingException e) {
          e.printStackTrace();
      }
  }
  
  private static class Data {
      public String data1 = "value1";
      public String data2 = "value2";
  }
  </code></pre>
  
  <p>Us I use <code>SimpleBeanPropertyFilter.filterOutAllExcept("data1"));</code> I was expecting that the created serialized Json string contains only <code>{"data1":"value1"}</code>, however I get <code>{"data1":"value1","data2":"value2"}</code>.</p>
  
  <p>How to create a temporary writer that respects the specified filter (the ObjectMapper can not be re-configured in my case).</p>
  
  <p>Note: Because of the usage scenario in my application I can only accept answers that do not use Jackson annotations.</p>