title: Jackson error "Illegal character... only regular white space allowed" when parsing JSON
body: <p>I am trying to retrieve JSON data from a URL but get the following error:</p>
  
  <pre><code>Illegal character ((CTRL-CHAR, code 31)):
  only regular white space (\r, \n,\t) is allowed between tokens
  </code></pre>
  
  <p>My code:</p>
  
  <pre><code>final URI uri = new URIBuilder(UrlConstants.SEARCH_URL)
        .addParameter("keywords", searchTerm)
        .addParameter("count", "50")
        .build();
    node = new ObjectMapper().readTree(new URL(uri.toString())); &lt;&lt;&lt;&lt;&lt; THROWS THE ERROR
  </code></pre>
  
  <p>The url constructed is i.e <a href="https://www.example.org/api/search.json?keywords=iphone&amp;count=50" rel="noreferrer">https://www.example.org/api/search.json?keywords=iphone&amp;count=50</a></p>
  
  <p>What is going wrong here? And how can I parse this data successfully?</p>
  
  <hr>
  
  <p>Imports:</p>
  
  <pre><code>import com.google.appengine.repackaged.org.codehaus.jackson.JsonNode;
  import com.google.appengine.repackaged.org.codehaus.jackson.map.ObjectMapper;
  import com.google.appengine.repackaged.org.codehaus.jackson.node.ArrayNode;
  import org.apache.http.client.utils.URIBuilder;
  </code></pre>
  
  <p>example response </p>
  
  <pre><code>{
      meta: {
          indexAllowed: false
      },
      products: {
          products: [ 
              {
                  id: 1,
                  name: "Apple iPhone 6 16GB 4G LTE GSM Factory Unlocked"
              },
              {
                  id: 2,
                  name: "Apple iPhone 7 8GB 4G LTE GSM Factory Unlocked"
              }
          ]
      }
  }
  </code></pre>