title: custom serializer for just one property in Json.NET
body: <p><strong>UPDATE</strong>
  Found the issue -- was inheriting from wrong class, needed to be JsonConverter.</p>
  
  <p>I have a class that has a Location property of type System.Data.Entity.Spatial.DbGeography.  The default Json.NET serializer puts out JSON text like this:</p>
  
  <pre class="lang-json prettyprint-override"><code>  ...
    "PlaceType": 0,
    "Location": {
      "Geography": {
        "CoordinateSystemId": 4326,
        "WellKnownText": "POINT (-88.00000 44.00000)"
      }
    },
    "AddedDT": null,
    ...
  </code></pre>
  
  <p>I want it to put out text like this:</p>
  
  <pre class="lang-json prettyprint-override"><code>  ...
    "PlaceType": 0,
    "Location": [-88.00000,44.00000],
    "AddedDT": null,
    ...
  </code></pre>
  
  <p>...so it seems to me what I should do would be to override whatever converter is currently being used on the DbGeography type.</p>
  
  <p>The examples I've seen so far that use CustomCreationConverters and ContractResolvers seem to address how you'd replace the serializer for the main class being serialized, not for a type that's only a property of that class.  The examples that involve annotating the class that's being overridden don't work for me because I don't define DbGeography in my code and it's effectively a sealed class because it has no constructor and can only be instantiated by <code>internal</code> factory methods.</p>
  
  <p>Is there a way to apply a JsonConverter to a type fluently?  If so, what would the converter look like?  Do I just override the WriteJson() method?</p>