title: Alternate property name while deserializing
body: <p>In reference to this question:</p>
  
  <p><a href="https://stackoverflow.com/questions/8796618/how-can-i-change-property-names-when-serializing">How can I change property names when serializing with Json.net?</a></p>
  
  <p>Sure, great, but can I have the cake and eat it?</p>
  
  <p>What I'm looking for is an eye pleasing way have an alternate name for a property in such a way that the string may contain either.</p>
  
  <p>Something like:</p>
  
  <pre><code>[BetterJsonProperty(PropertyName = "foo_bar")]
  public string FooBar { get; set; }
  </code></pre>
  
  <p>Both </p>
  
  <pre><code>{
       "FooBar": "yup"
  }
  </code></pre>
  
  <p>and</p>
  
  <pre><code>{     
        "foo_bar":"uhuh"
  }
  </code></pre>
  
  <p>would deserialize as expected.</p>
  
  <p>As solution with no attribute would work or an attribute on the class like:</p>
  
  <pre><code> [AllowCStylePropertyNameAlternatives]
  </code></pre>