title: Unexpected character encountered while parsing API response
body: <p>I am getting this exception:</p>
  
  <blockquote>
    <p>Newtonsoft.Json.JsonReaderException
          HResult=0x80131500
          Message=Unexpected character encountered while parsing value: {. Path 'outputObject.address', line 17, position 16.</p>
  </blockquote>
  
  <p>when deserializing the response data from an API.
  (complete exception on the end of the post)</p>
  
  <p><strong>CODE</strong></p>
  
  <pre><code>return JsonConvert.DeserializeObject(webResponseEntity.ResponseData, typeof(CarLookupResponse)) as CarLookupResponse;
  </code></pre>
  
  <p><strong>MODEL</strong></p>
  
  <pre><code>   public class CarLookupResponse : ICarLookupResponse
      {
          public ICarLookupResult Result { get; set; }
  
          public ICarLookupOutputObject OutputObject { get; set; }
  
          public CarLookupResponse()
          {
              Result = new CarLookupResult();
              OutputObject = new CarLookupOutputObject();
          }
      }
  </code></pre>
  
  <p>Folowing is the output object interface
   <strong>OutputObject Interface</strong></p>
  
  <pre><code>public interface ICarLookupOutputObject 
      {
          int  CarId { get; set; }
  
          string CartestId { get; set; }
  
          int[] ModelYears { get; set; }
  
          string FirstName { get; set; }
  
          string LastName { get; set; }
  
          string Email { get; set; }
  
          string SSN { get; set; }
  
          string Address { get; set; }
      }
  </code></pre>
  
  <p><strong>JSON</strong></p>
  
  <pre><code>   {
       "result": {
          "id": 1,
          "value": "lookup successful.",
          "error": null
        },
        "outputObject": {
          "CarId": 2025,
          "CartestId": "testing-02",
          "ModelYears": [
            2017,
            2018
          ],
          "firstName": "Troy",
          "lastName": "Aaster",
          "email": "testuser@gmail.com",
          "address": {
            "apartment": "",
            "state": "CA",
            "city": "BRISBANE",
            "zipCode": "94005",
            "streetAddress": "785, SPITZ BLVD"
          },
          "ssn": "511-04-6666"
        }
      }
  </code></pre>
  
  <p>I tried to find the reason for this exception but couldn't get it, <strong>JSON</strong> is valid, I have checked that.</p>
  
  <p>Following is the full exception deatials</p>
  
  <blockquote>
    <p>Newtonsoft.Json.JsonReaderException
          HResult=0x80131500
          Message=Unexpected character encountered while parsing value: {. Path 'outputObject.address', line 17, position 16.
          Source=Newtonsoft.Json
          StackTrace:
           at Newtonsoft.Json.JsonTextReader.ReadStringValue(ReadType readType)
           at Newtonsoft.Json.JsonTextReader.ReadAsString()
           at Newtonsoft.Json.JsonReader.ReadForType(JsonContract contract, Boolean hasConverter)
           at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
           at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
           at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
           at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
           at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
           at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
           at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
           at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)</p>
  </blockquote>