JSON文字列から値を取得しようとしていますが、エラーが発生します。
data = json.loads('{"lat":444, "lon":555}')
return data["lat"]
しかし、データを反復処理すると、要素(lat
およびlon
)は提供されますが、値は提供されません。
data = json.loads('{"lat":444, "lon":555}')
ret = ''
for j in data:
ret = ret + ' ' + j
return ret
戻り値:lat lon
lat
およびlon
の値を取得するには何をする必要がありますか? (444
および555
)
ディクショナリのキーと値の両方を反復処理する場合は、次を実行します。
for key, value in data.items():
print key, value
それはあなたにどんなエラーを与えていますか?
まさにこれを行う場合:
data = json.loads('{"lat":444, "lon":555}')
次に:
data['lat']
SHOULD NOTエラーを表示します。
Pythonを使用して、提供されたJsonから値を抽出します
Working sample:-
import json
import sys
//load the data into an element
data={"test1" : "1", "test2" : "2", "test3" : "3"}
//dumps the json object into an element
json_str = json.dumps(data)
//load the json to a string
resp = json.loads(json_str)
//print the resp
print (resp)
//extract an element in the response
print (resp['test1'])
あなたのコードを使用して、これは私がそれをする方法です。追加のオプションを提供するだけで、答えが選択されたことがわかります。
data = json.loads('{"lat":444, "lon":555}')
ret = ''
for j in data:
ret = ret+" "+data[j]
return ret
このマナーでforを使用すると、値ではなくオブジェクトのキーが取得されるため、キーをインデックスとして使用して値を取得できます。
属性としてのJsonのような辞書のキー値へのアクセスを容易にするモジュールを備えたPyライブラリがあります。 https://github.com/asuiu/pyxtension 次のように使用できます。
j = Json('{"lat":444, "lon":555}')
j.lat + ' ' + j.lon