Python: строка JSON в список словарей – получение ошибки при итерации

Я отправляю строку JSON из Objective-C в Python. Затем я хочу разбить содержимое строки в список 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 

Я получаю эту ошибку:

Ошибка исключения: объект 'list' не имеет атрибута 'iterates'

3 Solutions collect form web for “Python: строка JSON в список словарей – получение ошибки при итерации”

Ваши данные 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 

json.loads(s) вернут вам list . Для повторения этого вам не нужны iteritems .

 >>> jdata = json.loads(s) >>> for doc in jdata: ... for key, value in doc.iteritems(): ... print key, value 

для python 3.6 выше, есть небольшая разница

 s = '[{"i":"imap.gmail.com","p":"someP@ss"},{"i":"imap.aol.com","p":"anoterPass"}]' jdata = json.loads(s) print (jdata) for d in jdata: for key, value in d.items(): print (key, value) [{'i': 'imap.gmail.com', 'p': 'someP@ss'}, {'i': 'imap.aol.com', 'p': 'anoterPass'}] i imap.gmail.com p someP@ss i imap.aol.com p anoterPass 
  • Преобразование объекта динамического python в json
  • Доступ к элементам JSON
  • не является сериализуемым JSON
  • Пример клиента python jsonrpc2, связанный с удаленным примером hello world с помощью httplib?
  • Python MySQL CSV экспортирует в json странную кодировку
  • Серийный анализатор Django для одного объекта
  • Пользовательский JSON-кодировщик на Python с предварительно вычисленным литералом JSON
  • Невозможно разобрать простой json с помощью python
  • Почему клавиши int питона python превращаются в строки при использовании json.dumps?
  • Что я делаю неправильно с запросами в python: ValueError: Ожидающее значение: строка 1 столбец 1 (char 0)?
  • TypeError: b'1 'не является сериализуемым JSON
  •  
    Interesting Posts for Van-Lav

    Проверьте, оценивает ли предикат true для всех элементов в итерабельном в python

    Get Flask показать изображение, не находящееся в статическом каталоге

    Эффективный расчет расстояния между N точками и ссылкой в ​​numpy / scipy

    Список и список python

    Python 3 Получить и проанализировать API JSON

    Как удалить дополнительную строку «Line2D» в легенде matplotlib

    Как я могу переопределить флаги компилятора (gcc), которые setup.py использует по умолчанию?

    Нужна помощь при написании витой прокси

    Scipy curvefit RuntimeError: Оптимальные параметры не найдены: количество вызовов функции достигло maxfev = 1000

    python – измерение яркости пикселей

    Есть ли способ перегрузить + = в python?

    Различные представления массива YAML

    OpenCV: Как найти цвет внутри контура / полигона?

    Несколько конфигурационных файлов с Python ConfigParser

    Декартово произведение Python из n списков с n неизвестным во время кодирования

    Python - лучший язык программирования в мире.