19

Objective-CからPythonにJSON文字列を送信しています。次に、文字列の内容をPythonリストに分割します。文字列(今のところ任意の文字列)を反復処理しようとしています:

import json

s = '[{"i":"imap.gmail.com","p":"someP@ss"},{"i":"imap.aol.com","p":"anoterPass"}]'
jdata = json.loads(s)
for key, value in jdata.iteritems():
    print key, value

このエラーが発生します:

例外エラー:「リスト」オブジェクトに属性がありません「反復」

4

3 に答える 3

27

JSONデータは辞書のリストであるため、後で辞書ではなくリストとして使用するjson.loads(s)ことになります。jdata

次のようなものを試してください。

import json

s = '[{"i":"imap.gmail.com","p":"someP@ss"},{"i":"imap.aol.com","p":"anoterPass"}]'
jdata = json.loads(s)
for d in jdata:
    for key, value in d.iteritems():
        print key, value
于 2012-12-18T17:20:15.117 に答える
5

json.loads(s)あなたを返しますlist。それを繰り返すためにあなたは必要ありませんiteritems

>>> jdata = json.loads(s)
>>> for doc in jdata:
...     for key, value in doc.iteritems():
...          print key, value
于 2012-12-18T17:19:13.677 に答える