2016-09-28 6 views
2

私はPythonでAPIを呼び出し、JSONで有効な結果を取得するURLを操作しています。Python - dict JSONレスポンスをフィルタリングして2つの値のみを返すか、文字列に変換しますか?

私は、私は戻ってのdict値を送信処理する何か良い方法を見つけるように見えることはできません、[結果]

が提供する「緯度」と「経度」を必要とする。しかし。

私はJSONを文字列に変換しようとしましたが、私の最終目標は別のURLに緯度と経度を追加することです。

DICTを一般的な問題として解析しているようです。

誰でも正しい方向に向けることができますか?

私のコード(そのRAN)

import urllib2 
import json 
Postcode = raw_input("Hello hello hello, what's your postcode..? ") 
PostcodeURL = 'https://api.postcodes.io/postcodes/' + Postcode 
json_str = urllib2.urlopen(PostcodeURL).read() 
d = json.loads(json_str) 
print(d) 

出力は次のようになります。あなたが戻って、ネストされた辞書を持っ

{u'status': 200, u'result': {u'eastings': 531025, u'outcode': u'N8', u'admin_county': None, u'postcode' 

答えて

0

、それは右のキーを使用して値のアクセス:

d = json.loads(json_str) 
lat, long = d['result']['latitude'], d['result']['longitude'] 
newurl = url + '?' + 'lat=' + lat + '&lon=' + lon 
-1

辞書のようにJSONオブジェクトにアクセスできます。

lat, long = d[result][latitude], d[result][longitude]

ロードこれらは、文字列にあなたのエラーチェックを行い、その後、新しいURLにそれらを追加します。だからあなたの結果から、緯度と経度を取得するには、使用することができます。

関連する問題