title: Can I override the Json.Net member-name mapping, within the context of a single serializer?
body: <p>I'm trying to write documents into CouchDB in .NET, but my I don't want to mark all of my <code>Id</code> properties with <code>[JsonProperty(MemberName = "_id")]</code>, since I need to serialize them normally (with the member name being <code>Id</code>) to send them out via my own HTTP API.</p>
  
  <p>Basically, I want this:</p>
  
  <pre><code>var serializer = new JsonSerializer();
  /* some magic happens */
  serializer.Serialize(textWriter, new Thing { Id = "foo", Value = "bar" });
  </code></pre>
  
  <p>To result in this:</p>
  
  <pre><code>{_id:"Foo",Value:"Bar"}
  </code></pre>
  
  <p>But without the magic joojoo, it should still be this:</p>
  
  <pre><code>{Id:"Foo",Value:"Bar"}
  </code></pre>
  
  <p>I'm assuming that this shouldn't be too hard, but I don't know my way around the internals of Json.Net well enough to Just Do It™.</p>