title: Jackson only interface field deserialization
body: <p>Is it possible to deserialize only fields from interface</p>
  
  <pre><code>public interface B {
      String getB();
  }
  
  public interface A {
      String getA();
  }
  
  public class Impl implements A, B {
  
      @Override
      public String getA() {
          return "stringA";
      }
  
      @Override
      public String getB() {
          return "stringB";
      }
  
      public static void main(String[] args) {
          ObjectMapper mapper = new ObjectMapper();
          A implA = new Impl();
          B implB = new Impl();
  
          String jsonA = null;
          String jsonB = null;
          try {
              jsonA = mapper.writeValueAsString(implA);
              jsonB = mapper.writeValueAsString(implB);
          } catch (JsonProcessingException e) {
              e.printStackTrace();
          }
          System.out.println(jsonA);
          System.out.println();
          System.out.println(jsonB);
      }
  }
  </code></pre>
  
  <p><strong>What i expected</strong> was</p>
  
  <p>Interface A</p>
  
  <pre><code>{"a":"stringA"}
  </code></pre>
  
  <p>Interface B</p>
  
  <pre><code>{"b":"stringB"}
  </code></pre>
  
  <p><strong>What i get</strong> is</p>
  
  <pre><code>{"a":"stringA","b":"stringB"}
  
  {"a":"stringA","b":"stringB"}
  </code></pre>
  
  <p>It is possible for one interface, with this annotation
  @JsonSerialize(as=A.class), but it only works for the first interface.
  The output with @JsonSerialize is</p>
  
  <pre><code>{"a":"stringA"}
  
  {"a":"stringA"}
  </code></pre>