87

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

4

5 に答える 5

110

辞書のキーと値の両方を反復処理する場合は、次のようにします。

for key, value in data.items():
    print key, value
于 2012-09-10T14:04:09.650 に答える
73

それはあなたにどんなエラーを与えていますか?

これを正確に行う場合:

data = json.loads('{"lat":444, "lon":555}')

それで:

data['lat']

エラーをまったく発生させないでください

于 2012-09-10T14:04:35.237 に答える
14

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'])
于 2016-02-19T16:23:05.313 に答える
6

あなたのコードを使用して、これは私がそれを行う方法です。私は答えが選ばれたことを知っています、ただ追加のオプションを与えます。

data = json.loads('{"lat":444, "lon":555}')
    ret = ''
    for j in data:
        ret = ret+" "+data[j]
return ret

このように「for」を使用すると、値ではなくオブジェクトのキーを取得するため、キーをインデックスとして使用して値を取得できます。

于 2013-03-01T23:43:14.160 に答える
6

属性としてJsonのような辞書のキー値へのアクセスを容易にするモジュールを備えたPyライブラリがあります:https ://github.com/asuiu/pyxtension次のよう に使用できます:

j = Json('{"lat":444, "lon":555}')
j.lat + ' ' + j.lon
于 2015-10-17T19:22:29.943 に答える