title: org.codehaus.jackson.JsonParseException: Unexpected character ('' (code 65279 / 0xfeff)): expected a valid value
body: <p>I'm facing an Strange problem, I'm very new to Android and Json. I'm consuming a RESTful WCF that shows a json response like this one:</p>
  
  <pre><code>{"StatusCode":200,"Message":"","Result":{"Agencies":[],"Areas":[{"id":11,"area_name":"area 10","description":"updated 10","active":true},{"id":12,"area_name":"Area 11","description":"temp 11","active":true},{"id":13,"area_name":"Area 12","description":"temp12","active":true},{"id":14,"area_name":"area 13","description":"temp 13 3","active":true},{"id":7,"area_name":"Area 6","description":"temp6","active":true},{"id":8,"area_name":"area 7","description":"temp7","active":true},{"id":9,"area_name":"area 8","description":"temp 8","active":true},{"id":10,"area_name":"area 9","description":"temp 9","active":true},{"id":1,"area_name":"area1","description":"temp","active":true},{"id":3,"area_name":"area2","description":"temp2","active":true},{"id":4,"area_name":"area3","description":"asdddasdsa","active":true},{"id":5,"area_name":"area4","description":"dasdassad","active":true},{"id":6,"area_name":"area5","description":"temp5","active":true}],"Districts":[{"id":5,"district_name":"District 5","district_code":"1","description":"temp 5","area_id":8,"area_name":"area 7","active":true},{"id":4,"district_name":"district 4","district_code":"2","description":"temp 4","area_id":8,"area_name":"area 7","active":true},{"id":1,"district_name":"district 1","district_code":"1","description":"descrp","area_id":10,"area_name":"area 9","active":true},{"id":2,"district_name":"district 2","district_code":"1","description":"descrp","area_id":10,"area_name":"area 9","active":true},{"id":3,"district_name":"district 3","district_code":"1","description":"temp 3","area_id":5,"area_name":"area4","active":true}],"FacilityOccupacies":[{"id":1,"facility_name":"C","description":"Computer facility","active":true},{"id":2,"facility_name":"CA","description":"Adult correctional facility","active":true},{"id":3,"facility_name":"CJ","description":"Juvenile correctional facility","active":true},{"id":4,"facility_name":"GS","description":"Garage for operations support, including vehicle maintenance, repair or fuel depot","active":true},{"id":5,"facility_name":"GP","description":"Garage for parking","active":true},{"id":6,"facility_name":"I","description":"Light industrial facility","active":true},{"id":7,"facility_name":"L","description":"Library","active":true},{"id":8,"facility_name":"M","description":"Medical facilities such as clinics, infirmaries or hospitals","active":true},{"id":9,"facility_name":"N","description":"Non-categorized facility","active":true},{"id":10,"facility_name":"OM","description":"Office buildings where approximately 75% or more of occupants are senior level managers","active":true},{"id":11,"facility_name":"OS","description":"Office building","active":true},{"id":12,"facility_name":"SP","description":"Primary school","active":true},{"id":13,"facility_name":"SS","description":"Secondary school","active":true},{"id":14,"facility_name":"U","description":"University","active":true},{"id":15,"facility_name":"W","description":"Warehouse","active":true}],"FireSprinkler":[{"id":2,"fire_sprinkler":"N","description":"A lack of a fire sprinkler fire suppression system.","active":true},{"id":3,"fire_sprinkler":"P","description":"A partial fire sprinkler fire suppression system.","active":true},{"id":1,"fire_sprinkler":"Y","description":"A full fire sprinkler fire suppression system.","active":true}],"FoundSources":[{"id":1,"found_source_name":"COP","description":"Certificates of Participation","active":true},{"id":2,"found_source_name":"COSF","description":"Capital Outlay Stabilization Fund","active":true},{"id":6,"found_source_name":"Exempt","description":"Exempt From Rent","active":true},{"id":4,"found_source_name":"GF","description":"Capital Outlay Stabilization Fund","active":true},{"id":5,"found_source_name":"N/A","description":"Not Applicable","active":true},{"id":3,"found_source_name":"PLTO","description":"Private Lease-To-Own","active":true}],"Locations":[{"id":1,"location_name":"location 1","location_code":"1","description":"temp 1","district_id":3,"district_name":"district 3","active":true}],"MarshallSwift":[{"id":1,"class":"A","frame":"Structural steel columns and beams fire proofed with masonry, concrete, plaster, or other incombustible material.","floor":"Concrete or concrete covered steel deck, fire-proofed.","roof":"Concrete or concrete covered steel deck,fire-proofed.","walls":"Non-bearing curtain walls, masonry, concrete, metal, and glass panels, stone.","active":true},{"id":2,"class":"B","frame":"Reinforced concrete columns and beams.","floor":"Concrete or concrete covered steel deck, fire-proofed.","roof":"Concrete or concrete covered steel deck, fire-proofed.","walls":"Non-bearing curtain walls, masonry, concrete, metal, and glass panels, stone.","active":true},{"id":3,"class":"C","frame":"Structural steel columns and beams fire-proofed with masonry, concrete, plaster, or other incombustible material.","floor":"Concrete or concrete covered steel deck, fire-proofed.","roof":"Wood or steel joist, wood or steel deck.","walls":"Brick, concrete block, or tile masonry, tilt-up formed concrete.","active":true},{"id":4,"class":"D","frame":"Wood or steel studs in bearing wall, wood or steel skeleton frame.","floor":"Wood or steel floor joists or slabs on ground.","roof":"Wood or steel joist, wood or steel deck.","walls":"Almost any material except masonry or concrete. May have masonry veneer over steel or wood framing.","active":true},{"id":5,"class":"S","frame":"Steel – No fire protection.","floor":"Concrete","roof":"Steel – No fire protection.","walls":"Steel – No fire protection.","active":true}],"Profiles":[{"id":1,"profile_name":"Administrator","description":"System Administrator","active":true},{"id":2,"profile_name":"Inspector","description":"Building Inspector","active":true}],"ProjectCategories":[{"id":1,"category_name":"Fire/Life Safety","description":"Fire/Life Safety","active":true},{"id":2,"category_name":"HVAC","description":"HVAC","active":true},{"id":3,"category_name":"Infrastructure","description":"Infrastructure","active":true},{"id":4,"category_name":"Interior Renovation","description":"Interior Renovation","active":true},{"id":5,"category_name":"Shell","description":"Shell","active":true},{"id":6,"category_name":"Energy Consv","description":"Energy Consv","active":true},{"id":7,"category_name":"ADA Access","description":"ADA Access","active":true},{"id":8,"category_name":"Building Services","description":"Building Services","active":true},{"id":9,"category_name":"NONE","description":"NONE","active":true}],"Projects":[],"Structures":[]}}
  </code></pre>
  
  <p>I'm trying to deserialize it to a complex object with Jackson 1.9.11.</p>
  
  <p>So I use</p>
  
  <pre><code> final ObjectMapper mapper = new ObjectMapper();
   RawResult&lt;RawCatalogs&gt; oResult = mapper.readValue(strResponse, new TypeReference&lt;RawResult&lt;RawCatalogs&gt;&gt;() {});
  </code></pre>
  
  <p>Where RawResult is a class with a Template and RawCatalogs its a class with nested Objects, it used to deserialize the response correctly, but now it's showing the error in the title.</p>
  
  <p>The definition of the classes is this (don't know if information of the nested classes is needed for full support? I think I have mapped them very well, just going to post the importants for clarity )</p>
  
  <pre><code>import org.codehaus.jackson.annotate.JsonCreator;
  import org.codehaus.jackson.annotate.JsonIgnore;
  import org.codehaus.jackson.annotate.JsonProperty;
  
  
  final public class RawResult&lt;T&gt; {
  
      private final Integer _StatusCode;
  
      private final Boolean _Status;
  
      private final String _Message;  
  
      private final T _Result;
  
      public RawResult(Class&lt;T&gt; oClass) throws InstantiationException, IllegalAccessException
      {
          _StatusCode = null;
          _Message = null;
          _Result = BuildGeneric(oClass);
          _Status = false;
  
      }   
  
      @JsonCreator
      public RawResult(
              @JsonProperty("StatusCode") Integer StatusCode, 
              @JsonProperty("Message") String Message, 
              @JsonProperty("Result")  T Result)
      {
          _StatusCode = StatusCode;
          _Message = Message;
          _Result = Result;
          _Status = StatusCode == 200;
      }
  
       private T BuildGeneric(Class&lt;T&gt; oClass) throws InstantiationException,
       IllegalAccessException
       {
           return oClass.newInstance();
       }
  
      /**
       * @return the _StatusCode
       */
       @JsonProperty("StatusCode")
      public Integer get_StatusCode() {
          return _StatusCode;
      }
  
      /**
       * @return the _Message
       */
       @JsonProperty("Message")
      public String get_Message() {
          return _Message;
      }
  
      /**
       * @return the _Result
       */
       @JsonProperty("Result")
      public T get_Result() {
          return _Result;
      }
  
      /**
       * @return the _Status
       */
       @JsonIgnore
      public Boolean get_Status() {
          return _Status;
      }
  
  }
  </code></pre>
  
  <hr>
  
  <pre><code>public interface ICatalog {
  
      String _Id = null;  
      String _Description = null;
      boolean _Active = false;
  
      /**
       * @return the _Id
       */
      public String get_Id();
  
      /**
       * @return the _Description
       */
      public String get_Description() ;
  
  
      /**
       * @return the _Active
       */
      public boolean is_Active() ;
  }
  </code></pre>
  
  <hr>
  
  <pre><code>public abstract class RawCatalog implements ICatalog {
  
  
      protected final String _Id; 
      protected final String _Description;
      protected final String _Name;
      protected final boolean _Active;
  
  
      public RawCatalog(String Id, String Description,String Name, boolean Active)
      {
          _Id = Id;
          _Description = Description;
          _Name = Name;
          _Active = Active;
  
      }
  
      @JsonProperty("id")
      public String get_Id() {
          // TODO Auto-generated method stub
          return _Id;
      }
  
      @JsonProperty("description")
      public String get_Description() {
          // TODO Auto-generated method stub
          return _Description;
      }
  
      @JsonProperty("name")
      public String get_Name() {
          // TODO Auto-generated method stub
          return _Name;
      }
  
      @JsonProperty("active")
      public boolean is_Active() {
          // TODO Auto-generated method stub
          return _Active;
      }
  
  }
  </code></pre>
  
  <hr>
  
  <pre><code>public final class RawAgency extends RawCatalog {
  
      private final String _AgencyCode;
      private final String _LocationId;
      private final String _LocationName;
      private final int _NumberOfStructures;
  
      @JsonCreator
      public RawAgency(
              @JsonProperty("id") String Id,
              @JsonProperty("description") String Description,
              @JsonProperty("agency_name") String Name, 
              @JsonProperty("active") Boolean Active,         
              @JsonProperty("agency_code") String AgencyCode, 
              @JsonProperty("get_LocationId")  String LocationId,
              @JsonProperty("get_LocationName")  String LocationName,
              @JsonProperty("get_NumberOfStructures")  int NumberOfStructures
              )
      {
          super(Id, Description, Name,Active);        
          _AgencyCode = AgencyCode;
          _LocationId = LocationId;
          _LocationName = LocationName;
          _NumberOfStructures = NumberOfStructures;
      }
  
      /**
       * @return the _AgencyName
       */
      @JsonProperty("agency_name")
      @Override
      public String get_Name() {
          return super.get_Name();
      }
  
      /**
       * @return the _AgencyCode
       */
      @JsonProperty("agency_code")
      public String get_AgencyCode() {
          return _AgencyCode;
      }
  
      /**
       * @return the _LocationId
       */
      @JsonProperty("location_id")
      public String get_LocationId() {
          return _LocationId;
      }
  
      /**
       * @return the _NumberOfStructures
       */
      @JsonProperty("number_of_structures")
      public int get_NumberOfStructures() {
          return _NumberOfStructures;
      }
  
      /**
       * @return the _LocationName
       */
      @JsonProperty("location_name")
      public String get_LocationName() {
          return _LocationName;
      }
  
  }
  </code></pre>
  
  <hr>
  
  <pre><code>import java.util.List;
  
  import org.codehaus.jackson.annotate.JsonCreator;
  import org.codehaus.jackson.annotate.JsonProperty;
  
  
  final public class RawCatalogs {
  
  
      private final List&lt;RawAgency&gt; _Agencies;
  
      private final List&lt;RawArea&gt; _Areas;
  
      private final List&lt;RawDistrict&gt; _Districts;
  
      private final List&lt;RawFacilityOccupacy&gt; _FacilityOccupacies;
  
      private final List&lt;RawFireSprinkler&gt; _FireSprinklers;
  
      private final List&lt;RawFoundSources&gt; _FoundSources;
  
      private final List&lt;RawLocation&gt; _Locations;
  
      private final List&lt;RawMarshallSwift&gt; _MarshallSwifts;
  
      private final List&lt;RawProfile&gt; _Profiles;
  
      private final List&lt;RawProjectCategory&gt; _ProjectCategories;
  
      private final List&lt;RawProject&gt; _Projects;
  
      private final List&lt;RawStructure&gt; _Structures;
  
      @JsonCreator
      public RawCatalogs( 
              @JsonProperty("Agencies") List&lt;RawAgency&gt; Agencies, 
              @JsonProperty("Areas") List&lt;RawArea&gt; Areas, 
              @JsonProperty("Districts") List&lt;RawDistrict&gt; Districts,
              @JsonProperty("FacilityOccupacies") List&lt;RawFacilityOccupacy&gt; FacilityOccupacies, 
              @JsonProperty("FireSprinkler") List&lt;RawFireSprinkler&gt; FireSprinklers,
              @JsonProperty("FoundSources")   List&lt;RawFoundSources&gt; FoundSources, 
              @JsonProperty("Locations") List&lt;RawLocation&gt; Locations, 
              @JsonProperty("MarshallSwift") List&lt;RawMarshallSwift&gt; MarshallSwifts,
              @JsonProperty("Profiles") List&lt;RawProfile&gt; Profiles, 
              @JsonProperty("ProjectCategories") List&lt;RawProjectCategory&gt; ProjectCategories, 
              @JsonProperty("Projects") List&lt;RawProject&gt; Projects,
              @JsonProperty("Structures") List&lt;RawStructure&gt; Structures
              )
      {
          _Agencies = Agencies;
          _Areas = Areas;
          _Districts = Districts;
          _FacilityOccupacies = FacilityOccupacies;
          _FireSprinklers = FireSprinklers;
          _FoundSources = FoundSources;
          _Locations = Locations;
          _MarshallSwifts = MarshallSwifts;
          _Profiles = Profiles;
          _ProjectCategories = ProjectCategories;
          _Projects = Projects;
          _Structures = Structures;
      }
  
      /**
       * @return the _Agencies
       */
      @JsonProperty("Agencies")
      public List&lt;RawAgency&gt; get_Agencies() {
          return _Agencies;
      }
  
      /**
       * @return the _Areas
       */
      @JsonProperty("Areas")
      public List&lt;RawArea&gt; get_Areas() {
          return _Areas;
      }
  
      @JsonProperty("Districts")
      /**
       * @return the _Districts
       */
      public List&lt;RawDistrict&gt; get_Districts() {
          return _Districts;
      }
  
      /**
       * @return the _FacilityOccupacies
       */
      @JsonProperty("FacilityOccupacies")
      public List&lt;RawFacilityOccupacy&gt; get_FacilityOccupacies() {
          return _FacilityOccupacies;
      }
  
      /**
       * @return the _FireSprinklers
       */
      @JsonProperty("FireSprinkler")
      public List&lt;RawFireSprinkler&gt; get_FireSprinklers() {
          return _FireSprinklers;
      }
  
      /**
       * @return the _FoundSources
       */
      @JsonProperty("FoundSources")
      public List&lt;RawFoundSources&gt; get_FoundSources() {
          return _FoundSources;
      }
  
      /**
       * @return the _Locations
       */
      @JsonProperty("Locations")
      public List&lt;RawLocation&gt; get_Locations() {
          return _Locations;
      }
  
      /**
       * @return the _MarshallSwifts
       */
      @JsonProperty("MarshallSwift")
      public List&lt;RawMarshallSwift&gt; get_MarshallSwifts() {
          return _MarshallSwifts;
      }
  
      /**
       * @return the _Profiles
       */
      @JsonProperty("ProjectCategories")
      public List&lt;RawProfile&gt; get_Profiles() {
          return _Profiles;
      }
  
      /**
       * @return the _ProjectCategories
       */
      @JsonProperty("Profiles")
      public List&lt;RawProjectCategory&gt; get_ProjectCategories() {
          return _ProjectCategories;
      }
  
      /**
       * @return the _Projects
       */
      @JsonProperty("Projects")
      public List&lt;RawProject&gt; get_Projects() {
          return _Projects;
      }
  
      /**
       * @return the _Structures
       */
      @JsonProperty("Structures")
      public List&lt;RawStructure&gt; get_Structures() {
          return _Structures;
      }
  }
  </code></pre>
  
  <p>So my question is why It is showing that error? I searched similar questions on stackoverflow, all seemed about an Encoding Error but is not the same code error and also I have not control over the WCF.</p>
  
  <p>Actually If I copy paste the Json Respone in <a href="http://www.jsoneditoronline.org/" rel="nofollow noreferrer">this page</a> it seems well formed.</p>
  
  <p>I also tried to use the mapper.configure but none of the features of Jsonparser worked</p>
  
  <p>What am I doing wrong?</p>