Obtenir JSON contenu de la page avec PhantomJS
Je voudrais savoir comment parser du JSON dans phantomjs. Tout le contenu de la page est incluse dans le code html (<html><body><pre>{JSON string}</pre></body></html>
). Est-il une option pour supprimer les entourant de balises ou de demander un autre Type de Contenu "application/json"? Si non, quelle est la meilleure façon de l'analyser. Est-ce à l'aide de jQuery à la suite notamment avec includeJS jQuery?
Vous devez vous connecter pour publier un commentaire.
Puisque vous êtes à l'aide de PhantomJS qui est construit de navigateur webkit, vous avez accès à la maternelle librairie JSON. Il n'est pas nécessaire d'utiliser la page.évaluer, vous pouvez simplement utiliser le texte en clair bien sur la page objet.
http://phantomjs.org/api/webpage/property/plain-text.html
var jsonSource = page.plainText;
m'aide.. merci..Voici ce que j'ai fait:
Ensuite le fichier que vous avez obtenu est l'objet JSON retourné à partir de cette page.
Comme déjà dans l'acceptation de réponse, je vous recommande d'utiliser
JSON.parse()
pour la conversion d'une chaîne JSON en objet.Par exemple, votre code pourrait ressembler à ceci:
Si les données json contient les chaînes html, ils seront enlevés dans le suggéré
page.plainText
attribut.