Je suis en train de récupérer des données JSON à partir d'une URL, mais l'erreur suivante:erreur Jackson « caractère illégal ... seul espace blanc régulier a permis » lors de l'analyse JSON
Illegal character ((CTRL-CHAR, code 31)):
only regular white space (\r, \n,\t) is allowed between tokens
Mon code:
final URI uri = new URIBuilder(UrlConstants.SEARCH_URL)
.addParameter("keywords", searchTerm)
.addParameter("count", "50")
.build();
node = new ObjectMapper().readTree(new URL(uri.toString())); <<<<< THROWS THE ERROR
L'URL construite est https://www.example.org/api/search.json?keywords=iphone&count=50
Qu'est-ce qui ne va pas ici? Et comment puis-je analyser ces données avec succès?
Importations:
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;
exemple de réponse
{
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"
}
]
}
}
pourriez-vous ajouter le JSON retourné par l'URL à analyser? – user1121883
Juste une note: S'il vous plaît utilisez toujours 'example.org' ou' example.com' pour des exemples de noms de domaine. Si vous créez un domaine, vous risquez de créer des problèmes pour ceux qui en sont propriétaires. Voir [example.com sur Wikipedia] (https://en.wikipedia.org/wiki/Example.com). – sleske
réponse d'emaple ajoutée – rogger2016