2015-04-13 1 views
1

Je suis nouveau sur Python et j'écris mon premier script python. J'ai fait de bons progrès, mais j'ai de la difficulté à gérer la réponse d'un service Web. Voici un code qui obtenir une réponse de l'échantillon:Comment puis-je obtenir ce JSON dans une liste python ou un dictionnaire?

import urllib 
import json 
urlstring = 'http://geonb-t.snb.ca/arcgis/rest/services/Utilities/Geometry/GeometryServer/project?inSR=2219&outSR=2953&geometries=674728.283,5319788.292&transformation=1841&transformForward=TRUE&f=json' 
ro1 = urllib.urlopen(urlstring) 
ro2 = ro1.read() 
print ro2 

Exemple de réponse: {"geometries":[{"x":2488268.7116061845,"y":7667607.8963871095}]}

La réponse du service Web ressemble à un dictionnaire Python, mais quand je l'enregistrer je reçois une chaîne. Comment lire cette réponse dans une liste ou un dictionnaire Python? J'ai besoin d'extraire les valeurs 'x' et 'y'. Je travaille en Python 2.6.5.

+3

Utilisez le module (https://docs.python.org/2.6/library/json.html) [ 'json'], comme vous avez importé. Regardez 'loads()' et 'dumps()' et décidez lequel est le plus approprié. – MattDMo

Répondre

4

C'est une chaîne JSON. Utilisez le module json pour analyser, comme dans

json.loads(ro2) 
+1

Eh bien c'était simple - "ro3 = json.loads (ro2)" me donne un dictionnaire dans la variable ro3 et je peux obtenir les valeurs x et y comme ceci - "ro3 ['geometries'] [0] ['x']) + ',' + ro3 ['geometries'] [0] ['y'] " – berniejconnors