HTTParty de retourner une chaîne de caractères
Question
Je suis en utilisant une API qui est de retour le mauvais type mime, c'est le coming-out en tant que texte/html plutôt que de l'application/json.
Certaines réponses sont d'application/json donc je sais que le problème est dû à type mime.
Mais pour le texte/html (qui renvoie json valide avec le mauvais type mime) httparty ne l'analyser en une chaîne plutôt que d'une table de hachage.
Est-il un moyen de convertir cette chaîne en une valeur de hachage?
J'ai essayé d'utiliser require 'json'
mais à l'aide de JSON.parse
vient avec un inattendu erreur de clé.
La solution
Si vous êtes à l'extension d'une classe avec HTTParty essayez d'ajouter
format :json
pour la classe
assurez-vous également que vous êtes à l'analyse du corps de la réponse et non pas l'objet de réponse.
JSON.parse(get(self.classe.get("some_url","some_params").corps)
Autres conseils
Sans code ou URL API, je ne peux que deviner.Peut-être que l'API peut réagir de plusieurs manières et vous avez besoin de l'en-tête d'acceptation approprié.
class Foo
include HTTParty
headers 'Accept' => 'application/json'
end